学习OpenCV课后题4.1

#include <cv.h>
#include <cvcam.h>
#include <cxcore.h>
#include <highgui.h>

#pragma comment(lib,"cv.lib")                                     
#pragma comment(lib,"cvcam.lib")
#pragma comment(lib,"cxcore.lib")
#pragma comment(lib,"highgui.lib")

void main()
{
 CvCapture *capture=cvCreateFileCapture("my.avi");                                     //创建capture对象
 assert(capture!=NULL);

 IplImage *image=cvQueryFrame(capture);              //获取一个图像
 assert(image!=NULL);

 IplImage *grary_image=cvCreateImage(cvGetSize(image),image->depth,1);                 //创建单通道的gray_image
 assert(grary_image!=NULL);

 IplImage *canny_image=cvCreateImage(cvGetSize(image),image->depth,1);      //创建单通道的gray_image
 assert(canny_image!=NULL);

 IplImage *merge_image=cvCreateImage(cvSize(image->width*3,image->height),image->depth,3);    
 assert(merge_image);                  //创建三通道的merge_image
 
 IplImage *three_channel_gray_image=cvCreateImage(cvGetSize(image),image->depth,image->nChannels);
 assert(three_channel_gray_image!=NULL);              //创建一个三通道的three_channel_gray_image


 IplImage *three_channel_canny_image=cvCreateImage(cvGetSize(image),image->depth,image->nChannels);
 assert(three_channel_canny_image!=NULL);              //创建一个三通道的three_channel_canny_image

 IplImage *sub_image1=cvCreateImage(cvGetSize(image),image->depth,image->nChannels);    //创建一个sub_image1用来指向merge_image的开始处
 sub_image1->origin=merge_image->origin;
 sub_image1->widthStep=merge_image->widthStep;

 IplImage *sub_image2=cvCreateImage(cvGetSize(image),image->depth,image->nChannels);    //创建一个sub_image1用来指向merge_image的1/3处
 sub_image2->origin=merge_image->origin;
 sub_image2->widthStep=merge_image->widthStep;

 
 IplImage *sub_image3=cvCreateImage(cvGetSize(image),image->depth,image->nChannels);     //创建一个sub_image1用来指向merge_image的2/3处
 sub_image3->origin=merge_image->origin;
 sub_image3->widthStep=merge_image->widthStep; 


 cvNamedWindow("Show_Orginal");                  //创建窗口
 cvNamedWindow("Show_Gray");
 cvNamedWindow("Show_Canny");
 cvNamedWindow("Show_Merge");

 while ((image=cvQueryFrame(capture))!=NULL)
 {
  cvConvertImage(image,grary_image,CV_CVTIMG_FLIP);         //将image转换为灰度图
  cvCanny(grary_image,canny_image,150,50);           //将gray_image做canny处理

  cvConvertImage(grary_image,three_channel_gray_image);        //将gray_image转换为三通道
  cvConvertImage(canny_image,three_channel_canny_image);        //将canny_image转换为三通道

  sub_image1->imageData=merge_image->imageData;          //确定三个指针的指向
  sub_image2->imageData=merge_image->imageData+merge_image->widthStep/3;
  sub_image3->imageData=merge_image->imageData+merge_image->widthStep/3*2;
  
  cvCopyImage(image,sub_image1);              //将要拷贝的图像拷贝到相应的位置
  cvConvertImage(sub_image1,sub_image1,CV_CVTIMG_FLIP);
  cvCopyImage(three_channel_gray_image,sub_image2);
  cvCopyImage(three_channel_canny_image,sub_image3);  

  cvShowImage("Show_Orginal",image);
  cvShowImage("Show_Gray",three_channel_gray_image);         //显示图像
  cvShowImage("Show_Canny",three_channel_canny_image);
  cvShowImage("Show_Merge",merge_image);

  if (27==cvWaitKey(30))
  {
   break;
  }
 }

 cvDestroyAllWindows();                    //释放所有资源
 cvReleaseCapture(&capture);
 cvReleaseImage(&grary_image);
 cvReleaseImage(&canny_image);
 cvReleaseImage(&sub_image1);
 cvReleaseImage(&sub_image2);
 cvReleaseImage(&sub_image3);


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 抱歉,我可以回答您的问。要安装opencv-python 4.1,请在命令行中使用以下命令:pip install opencv-python==4.1.0.25。注意,您需要先安装Python和pip才能使用此命令。 ### 回答2: 要安装OpenCV-Python 4.1,可以按照以下步骤进行操作: 首先,确保已经安装了Python和pip。可以在命令行中运行以下命令检查它们是否已经安装: ``` python --version pip --version ``` 如果返回了相应的版本号,则已安装成功,否则需要先安装Python和pip。 然后,可以使用pip命令安装OpenCV-Python 4.1。在命令行中运行以下命令: ``` pip install opencv-python==4.1 ``` 这将会下载和安装OpenCV-Python 4.1及其依赖项。下载时间可能会根据网络状况和计算机配置而有所不同。 安装完成后,可以在Python文件中导入OpenCV模块并开始使用: ```python import cv2 # 这里可以写下具体的OpenCV操作代码 ``` 希望这些步骤能够帮助你成功安装OpenCV-Python 4.1。如果遇到任何问,请检查你的Python和pip版本以及网络连接,并尝试重新安装。如果问仍然存在,可以查阅OpenCV官方文档或参考相关论坛上的解决方案。 ### 回答3: 安装opencv-python 4.1的步骤如下: 1. 首先,打开命令提示符或终端窗口。 2. 确保你已经安装了Python,并且Python的版本不低于3.6。 3. 输入以下命令安装opencv-python 4.1:pip install opencv-python==4.1。 4. 等待安装完成。安装过程可能需要一些时间,具体时间取决于你的网络速度。 5. 安装完成后,你可以在Python代码中使用import cv2来导入opencv库,并使用其中的函数和模块。 如果你遇到了安装问,可以尝试以下解决方案: 1. 确保你的网络连接正常,能够访问Python的包索引(PyPI)。 2. 如果你的网络有问,可以使用国内镜像源来加速安装。例如,使用清华大学的镜像源可以通过如下命令安装:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python==4.1。 3. 如果你已经安装了旧版本的opencv-python,可以尝试先卸载旧版本再重新安装。可以使用如下命令卸载旧版本:pip uninstall opencv-python。然后再使用上述步骤重新安装。 总结一下,要安装opencv-python 4.1,你需要确保Python版本不低于3.6,并且使用pip命令来安装。如果安装遇到问,可以尝试使用国内镜像源或先卸载旧版本再重新安装。希望这些信息对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值