
opencv自学
wbgan1994
本人擅长Ai、Fw、FI、Br、Ae、Pr、Id、Ps、CDR等软件的安装与卸载,
精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、VB、Go、Ruby、Perl、Lisp、python、Objective-C、ActionScript、Pascal、spss、sas等单词的拼写,
熟悉Windows、Linux、Mac、Android、IOS、WP8等系统的开关机。
展开
-
使用opencv中K-Means进行数据点分类demo
环境准备 win10+VS2015+Opencv3.4 demo opencv生成随机数据点,使用kmeans函数进行数据点分类 源码如下: //随机数据点分类 void myKmeans( ) { Mat img(600, 600, CV_8UC3);//图像 RNG rng(12345);//随机数生成器,初始化可以传入一个64位的整型参数作为随机数产生器的初值 //颜色索...原创 2019-05-26 15:21:43 · 1147 阅读 · 0 评论 -
使用opencv中K-Means方法进行基于像素值的图像分割和背景替换
环境准备 win10+VS2015+opencv3.4 图像分割 根据图像像素点像素值,进行聚类、分割。 //图形分割 void segment(Mat img) { namedWindow("srcImg", 0); imshow("srcImg", img); int wid = img.cols; int hig = img.rows; int dim = img.cha...原创 2019-05-26 17:16:12 · 1602 阅读 · 0 评论 -
使用opencv中基于高斯混合模型(GMM)的EM算法进行数据点分类demo
环境: Win10+VS2015+opencv3.4.x opencv生成随机数据点,使用基于高斯混合模型(GMM)的EM算法进行数据点分类 源码: void GMM_EM( ) { Mat img(600, 600, CV_8UC3);//图像 RNG rng(12345);//随机数生成器,初始化可以传入一个64位的整型参数作为随机数产生器的初值 //颜色索引表,根据分类数...原创 2019-05-30 11:20:49 · 1031 阅读 · 0 评论 -
使用opencv中基于高斯混合模型(GMM)的EM算法进行图像分割
环境 Win10+VS2015+opencv3.4.x demo源码: //图形分割 void segment(Mat img) { namedWindow("srcImg", 0); imshow("srcImg", img); int wid = img.cols; int hig = img.rows; int dim = img.channels(); int samp...原创 2019-05-30 13:45:49 · 2664 阅读 · 0 评论 -
1.opencv加载、显示、保存图像
加载图像(用cv::imread) imread()功能是加载图像文件成为一个Mat对象, 第一个参数表示图像文件路径 d:\\test.jpg 第二个参数,表示加载的图像是什么类型,支持常见的三个参数值。IMREAD_UNCHANGED (<0) 表示加载原图,不做任何改变; IMREAD_GRAYSCALE ( 0)表示把原图作为灰度图像加载进来; IMREAD_COLOR (...原创 2019-05-23 16:35:20 · 193 阅读 · 0 评论 -
2.Mat对象
Mat对象与IplImage对象 Mat对象OpenCV2.0之后引进的图像数据结构、自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构。分了两个部分,头部与数据部分 IplImage是从OpenCV发布之后就一直存在,是C语言风格的数据结构,需要开发者自己分配与管理内存,对大的程序使用它容易导致内存泄漏问题 Mat部分复制 一般情况下只会复制Mat对象的头和指针部分,不会复制数...原创 2019-05-26 10:46:11 · 190 阅读 · 0 评论 -
3.像素访问操作
迭代器访问像素 Mat_<Vec3b>::iterator it=img.begin<Vec3d>(); //初试位置 Mat_<Vec3b>::iterator itend=img.end<Vec3d>(); //终止位置 动态地址计算访问像素 img.at<Vec3b>(i,j)[0] //蓝色通道 img.at<Ve...原创 2019-05-26 10:47:25 · 271 阅读 · 0 评论