1. 程式人生 > >opencv1.0基礎操作 還摻合opencv3操作

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版本的程式碼