#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就对了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)