opencv1.0基础操作 还掺合opencv3操作

读取图片

Mat srcImage = imread(“image1.jpg”); 
判断图片是否为空
srcImage.empty();
转为灰度图
Mat grayImage;
cvtColor(srcImage,grayImage,CV_BGR2GRAY);
获取/修改灰度图于(i,j)像素值
grayImage.at<char>(i,j) = 0;

显示图片

imshow("Picture",grayImage);    
waitKey(0); 
输出图片
imwrite("gray.jpg",grayImage);
释放图片
srcImage.release();

读取图片
IplImage *srcImage = cvLoadImage("potota.jpg", CV_LOAD_IMAGE_UNCHANGED);
创建图片
IplImage *grayImage =  cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);  
清空图片
cvZero(*grayImage);
转为灰度图
cvCvtColor(srcImage, grayImage, CV_BGR2GRAY);
转为二值图
IplImage *binImage = cvCreateImage(cvGetSize(grayImage), IPL_DEPTH_8U, 1);
cvZero(*binImage); 
cvThreshold(grayImage,*binImage,128,1,CV_THRESH_BINARY_INV);

获取图片大小
CvSize size = cvGetSize(srcImage);
int h = size.height
int w = size.width

获取/修改灰度图于(i,j)像素值
CV_IMAGE_ELEM(src,uchar,i,j) = 0;

复制图像
cp_src = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 1);
cvCopy(src,cp_src,NULL);

获取(i,j)像素信息
CvScalar s = cvGet2D(srcImage,i,j);

修改(i,j)像素信息
s = CV_RGB(0,255,0);
cvSet2D(srcImage,i,j,s);

显示图片
cvShowImage("Skeleton",srcImage);
cvWaitKey(0);
cvDestroyWindow("Skeleton");

释放图片
cvReleaseImage(&srcImage);

熟悉opencv1的操作,有利于自己以后去 看前辈们写的代码的思路。
明白什么意思就行 然后根据意思 自己可以写opencv3版本的代码

猜你喜欢

转载自blog.csdn.net/zqx951102/article/details/83147076
今日推荐