《学习OpenCV》课后习题解答5
来源:互联网 发布:软件项目风险管理论文 编辑:程序博客网 时间:2024/05/29 04:48
题目:(P104)
为一个图像创建多个图像头。读取一个大小至少为100*100的图像。另创建两个图像头并设置它们的origion,depth,nChannels和widthStep属性同之前读取的图像一样。在新的图像头中,设置宽度为20,高度为30.最后,将imageData指针分别指向像素(5,10)和(50,60)像素位置。传递这两个新的图像头给cvNot()。最后显示最初读取的图像,在那个大图像中应该有两个矩形,矩形内的值是原始值的求反值。
解答:
#include "cv.h"#include "highgui.h"int main(int argc, const char** argv){ IplImage *src = cvLoadImage(argv[1]); IplImage *dst1, *dst2; dst1 = cvCreateImage(cvSize(20, 30), src->depth, src->nChannels); dst1->origin = src->origin;//origin设置坐标原点的起始位置 dst1->widthStep = src->widthStep; dst2 = cvCreateImage(cvSize(20, 30), src->depth, src->nChannels); dst2->origin = src->origin; dst2->widthStep = src->widthStep; dst1->imageData = src->imageData + 10 * src->widthStep + 5 * src->nChannels; dst2->imageData = src->imageData + 60 * src->widthStep + 50 * src->nChannels; cvNot(dst1, dst1); cvNot(dst2, dst2); cvNamedWindow("src", 1); cvShowImage("src", src); cvWaitKey(0); cvReleaseImage(&src); cvReleaseImage(&dst1); cvReleaseImage(&dst2); cvDestroyWindow("src"); return 0;}
结果图:
补充:运行之前请先设置好命令行参数argv[1],把图片路径设置好。可参考http://blog.csdn.net/u012130706/article/details/51443468
0 0
- 《学习OpenCV》课后习题解答5
- 《学习OpenCV》课后习题解答1
- 《学习OpenCV》课后习题解答2
- 《学习OpenCV》课后习题解答3
- 《学习OpenCV》课后习题解答4
- 《学习OpenCV》课后习题解答6
- 《学习OpenCV》课后习题解答7
- 《学习OpenCV》课后习题解答8
- 《学习OpenCV》课后习题解答9
- 《学习OpenCV》课后习题解答(第三章)(仅供参考)
- 《学习OpenCV》课后习题解答(第四章)(仅供参考)(不断更新)
- 学习Opencv 第四章课后习题解答(Exercise 1a)
- 学习Opencv第3章课后习题
- 学习Opencv第2章课后习题
- 学习Opencv第4章课后习题
- 《学习opencv》第四章课后习题1
- 《学习opencv》第四章课后习题2
- 《学习opencv》第五章课后习题1
- Cocos Creator 中iOS添加-ObjC时报错
- 私信功能
- 表单提交,下拉选项写法
- [计网学习笔记(3)] Email应用
- TF-IDF与余弦相似性的应用(一):找出相似文章
- 《学习OpenCV》课后习题解答5
- 520来报到
- 'Debug/TestAESCipher.pch' is not a precompiled header file created with this compiler
- spark LDA 训练和预测
- oracle over partition by用法
- Exception in thread "main" org.apache.ibatis.binding.BindingException: Invalid bound statement (not
- poj 2805 正方形(维护有序数据+二分查找+枚举)
- 微信支付V3 php native模式2支付
- Android webview使用 webview和js交互