OpenCV图像创建保存复制

我们前面学习了如何使用opencv载入一张图片并将其显示出来,大家想必也很喜欢opencv封装好的函数,使用起来是不是非常方便?今天说的这三个方法也很简单,opencv已经将其封装好了,除此之外还有另一个函数,将24位彩图转换为灰度图,也是封装好的函数,效果图如下:

OpenCV图像创建保存复制

OpenCV图像创建保存复制

详细代码如下

#include "cv.h"
#include "highgui.h"

int main( int argc, char** argv )
{
IplImage* pImg; //声明IplImage指针

//载入图像,强制转化为Gray
if( argc == 3 && 
(pImg = cvLoadImage( argv[1], 0)) != 0 )
{

IplImage* pImg2 = cvCreateImage(cvGetSize(pImg),
pImg->depth,
pImg->nChannels);
cvCopy(pImg, pImg2, NULL);

cvSaveImage(argv[2], pImg2);//把图像写入文件

cvNamedWindow( "Image", 1 );//创建窗口
cvShowImage( "Image", pImg );//显示图像

cvWaitKey(0); //等待按键

cvDestroyWindow( "Image" );//销毁窗口
cvReleaseImage( &pImg ); //释放图像
cvReleaseImage( &pImg2 ); //释放图像
return 0;
}

return -1;
}

使用方法老规矩,使用命令行带参数,具体可参考前面的文章,或者自行百度,再或者可以参考上图中命令行里的格式。

程序首先判断是否传入了3个参数,并且尝试加载第二个参数代表的图片,成功则将其转换为灰度图,然后将转换后的图片保存在传入的第三个参数路径中,并创建窗口显示出来。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/241659.html

(0)
上一篇 2022年4月7日 01:10
下一篇 2022年4月7日 01:10

相关推荐

发表回复

登录后才能评论