学习openCV第四章答案
发布日期:2022-01-31 02:37:26
浏览次数:33
分类:技术文章
本文共 2705 字,大约阅读时间需要 9 分钟。
第一题:#include "cv.h"#include "highgui.h"#pragma comment(lib,"cv.lib")#pragma comment(lib,"cxcore.lib")#pragma comment(lib,"highgui.lib")int main(int argc, char** argv){ CvCapture* capture = cvCreateFileCapture("11.avi"); cvNamedWindow("origin",CV_WINDOW_AUTOSIZE); cvNamedWindow("gray",CV_WINDOW_AUTOSIZE); cvNamedWindow("canny",CV_WINDOW_AUTOSIZE); cvNamedWindow("totle", CV_WINDOW_AUTOSIZE); CvSize size = cvSize((int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_WIDTH), (int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_HEIGHT)); IplImage* gray = cvCreateImage(size,IPL_DEPTH_8U,1); IplImage* gray3 = cvCreateImage(size,IPL_DEPTH_8U,3);//三通道灰度图像 IplImage* cannyImage = cvCreateImage(size,IPL_DEPTH_8U,1); IplImage* cannyImage3 = cvCreateImage(size,IPL_DEPTH_8U,3);//三通道canny图像 //size.width = size.width*3; IplImage* totle = cvCreateImage(cvSize(size.width*3,size.height),IPL_DEPTH_8U, 3); cvZero(totle); while (1) { IplImage* frame = cvQueryFrame(capture); if (!frame) { return -1; } cvShowImage("origin",frame); cvConvertImage(frame,gray,1); cvShowImage("gray",gray); //做canny运算 if (gray->nChannels != 1) { break; } cvCanny(gray,cannyImage,100,150,3); cvShowImage("canny",cannyImage); IplImage* img1 = cvCreateImageHeader(size,frame->depth,3); IplImage* img2 = cvCreateImageHeader(size,frame->depth,3); IplImage* img3 = cvCreateImageHeader(size,frame->depth,3); img1->origin = frame->origin; img1->widthStep = totle->widthStep;//这里注意,因为img1要成为在大图中的一部分,所以是大图每行字节长 img2->origin = frame->origin; img2->widthStep = totle->widthStep; img3->origin = frame->origin; img3->widthStep = totle->widthStep; cvCvtColor(gray,gray3,CV_GRAY2BGR); cvCvtColor(cannyImage,cannyImage3,CV_GRAY2BGR); img1->imageData = totle->imageData; //第一个指向大图的开始处,即第一行 cvCopy(frame,img1); img2->imageData = totle->imageData + frame->widthStep;//这里很关键,注意字节排列问题,所以不能用width cvCopy(gray3,img2); img3->imageData = totle->imageData + 2*frame->widthStep; cvCopy(cannyImage3,img3); cvShowImage("totle",totle); CvFont font = cvFont(10.0,1); cvInitFont(&font,CV_FONT_HERSHEY_SCRIPT_SIMPLEX,0.5f,0.5f,0,1); cvPutText(totle,"Frame",cvPoint(10,200),&font,cvScalar(0,0,255)); cvPutText(totle,"Frame_gray",cvPoint(10+size.width,200),&font,cvScalar(0,0,255)); cvPutText(totle,"Frame_canny",cvPoint(10+size.width*2,200),&font,cvScalar(0,0,255)); char c = cvWaitKey(33); if (c == 27) { break; } } cvReleaseCapture(&capture); cvReleaseImage(&gray); //cvReleaseImage(&gray); cvReleaseImage(&cannyImage); cvReleaseImage(&totle); cvReleaseImage(&gray3); cvReleaseImage(&cannyImage3); cvDestroyAllWindows(); return 1;}
转载地址:https://blog.csdn.net/LJH0600301217/article/details/8649035 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年03月11日 21时38分42秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java线程占用CPU_在windows下揪出java程序占用cpu很高的线程并完美解决
2019-04-21
java多态替换switch_使多态性无法解决那些switch / case语句的麻烦
2019-04-21
下列不属于java语言特点的是_下列选项中,不属于Java语言特点的一项是( )。...
2019-04-21
java中小数的乘法_javascript的小数点乘法除法实例
2019-04-21
kappa一致性检验教程_SPSS在线_SPSSAU_Kappa一致性检验
2019-04-21
linux shell mysql备份_linux shell 备份mysql 数据库
2019-04-21
Java双向链表时间复杂度_链表是什么?有多少种链表?时间复杂度是?
2019-04-21
unity3d能和java系统整合吗_Android与Unity3d的整合
2019-04-21
minecraft666java_我的世界的666的世界
2019-04-21
辽宁师范大学java_辽宁师范大学心理学院
2019-04-21
java程序有连接数据库_Java程序连接数据库
2019-04-21
java reduce.mdn_reduce高级用法
2019-04-21
java shape用法_Java PShape.scale方法代码示例
2019-04-21
java字符串三目_java字符串连接运算符和三目运算符
2019-04-21
java 堆内存 非堆内存_JVM 堆内存和非堆内存
2019-04-21
Java新手写什么demo_通过入门demo简单了解netty使用方法
2019-04-21