Opencv-遍历图像的几种方法
2016-12-08 22:35
531 查看
读取图像:
}
C++形式
int main(int argc, char* argv[]) { const char* imagename = "lena.jpg"; //从文件中读入图像 IplImage* img = cvLoadImage(imagename); cvNamedWindow("mainwin",CV_WINDOW_AUTOSIZE); //显示图像 cvShowImage("mainwin", img); //revert image revertimage(img); cvShowImage("reverted image", img); //smooth image IplImage* smimage = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,3); cvSmooth(img,smimage,CV_GAUSSIAN,3,3); cvShowImage("smooth image",smimage); //键盘响应 cvSetMouseCallback("mainwin",MouseHandler,NULL); //此函数等待按键,按键盘任意键就返回 waitKey(); cvReleaseImage(&smimage); cvReleaseImage(&img); return 0;
}
C++形式
int main(int argc, char* argv[]) { const char* imagename = "../lena.png"; //从文件中读入图像 Mat img = imread(imagename); Mat reimg = img.clone(); //显示图像 imshow("source image", img); revertimage(reimg); imshow("revert image", reimg); //此函数等待按键,按键盘任意键就返回 waitKey(0); return 0; } void revertimage(Mat &img) { int nrows, ncols, nchannels; nchannels = img.channels(); nrows = img.rows; ncols = img.cols * nchannels; if (img.isContinuous()) { ncols = nrows * ncols; nrows = 1; } uchar* p; for (int i =0; i<nrows; i++) { p = img.ptr(i); for(int j=0; j<ncols; j++) { p[j] = 255 - p[j]; } } }
相关文章推荐
- OpenCV:通过Mat遍历图像的几种方法
- OpenCV2+入门系列(三):遍历图像的几种方法
- opencv学习笔记之对灰度图像遍历的三种方法
- opencv2-遍历图像像素的14种方法
- OpenCV基本图像容器Mat的几种创建方法
- OpenCV对图像或矩阵元素遍历的四种方法
- OpenCV2 访问各个像素点的方法(图像遍历)
- javacpp-opencv图像处理3:使用opencv原生方法遍历摄像头设备及调用(增加实时帧率计算方法)
- MFC+Opencv显示图像的几种方法
- OpenCV(六) Opencv中 core 核心模块详解——访问图像像素的几种方法
- opencv图像遍历方法速度对比
- opencv高效访问图像像素(遍历像素的方法总结)
- OpenCV 三种图像遍历方法
- OpenCV图像元素遍历四种方法的源码及性能对比
- MFC+Opencv显示图像的几种方法
- OpenCV ——遍历图像方法
- opencv图像遍历方法速度对比
- 来自一本国外OpenCV2书籍的示例-遍历图像像素的14种方法
- 数字图像处理成长之路16:opencv用于android的几种方法
- opencv学习笔记之对灰度图像遍历的三种方法