用opencv读取序列图片,程序代码

用opencv读取序列图片,程序代码,第1张

#include<cv.h>

#include<cxcore.h>

#include<highgui.h>

using namespace std

#pragma comment(lib,"opencv_core244d.lib")

#pragma comment(lib,"opencv_highgui244d.lib")

int main()

{

int i,j

char pImageName[51]="D:\\00"

char pImageCnt[5]

char *pSuf=".jpg"

IplImage *pImage[200]

for(i=0i<200++i)

{

itoa(i+1,pImageCnt,10)

for(j=0j<5++j)

{

if(pImageCnt[j]=='\0')

break

}

if(j==1)

{

pImageCnt[2]=pImageCnt[0]

pImageCnt[0]='0'

pImageCnt[1]='0'

pImageCnt[3]='\0'

}

else if(j==2)

{

pImageCnt[2]=pImageCnt[1]

pImageCnt[1]=pImageCnt[0]

pImageCnt[0]='0'

pImageCnt[3]='\0'

}

strcat(pImageName,pImageCnt)

strcat(pImageName,pSuf)

cout<<pImageName<<endl

pImage[i]=cvLoadImage(pImageName,CV_LOAD_IMAGE_COLOR)

pImageName[5]='\0'

}

//销毁等等

//...

return 0

}

1、需要用到其他模块的函数,如:

for i in range(20) #循环次数

image=cv2.imread("D:\\picture\\%d.jpg"%(i))#路径自己选择。

2、可以先升级你的pip,另外看看你的版本是否匹配,包括py版本和32位64位。

3、关于python下使用opencv读取图像。首先需要导入opencv包,上面说的那个Ipython并没有opencv包,所以想使用的请先正确导入opencv包再说,至于怎么导入,先下载个opencv包,里面有关于python的opencv包。 

以下照片是关于Ipython的运行界面:

我编译过了,没有问题,我觉得关键就是那个参数的输入,

#include "stdafx.h"

#include <opencv2/opencv.hpp>

using namespace cv

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

}

在命令窗口输入三个参数,第一个参数.exe文件,第二个参数导入的图片名称,第三个参数保存的图片的名称,如果像你那样写的话,你可能就输入两个参数,而argc == 3表明要输入三个参数,argv[2]表示第三个参数,把argv[2]改为argv[1],把argc == 3改为argc==2就对了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11539531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存