博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenCV第三章练习5-7
阅读量:6394 次
发布时间:2019-06-23

本文共 3008 字,大约阅读时间需要 10 分钟。

// 第五题#include 
#include
int main(int argc, char **argv){ int i,j; IplImage *img = cvCreateImage(cvSize(210,210), 8, 1); cvSetZero(img); for(i = 0;i<10; i++) { cvSetImageROI(img, cvRect(i*10, i*10, img->width-2*i*10, img->height-2*i*10)); cvSet(img,cvScalar(i*20),NULL); } cvResetImageROI(img); cvNamedWindow("example_p104_5", 1); cvShowImage("example_p104_5", img); cvWaitKey(0); cvReleaseImage(&img); cvDestroyWindow("example_p104_5");}

// 第六题#include 
#include
int main(int argc, char *argv[]){ IplImage *img, *img1, *img2; char src[] = "F:\\test\\p104_6\\p104_6\\lena.jpg"; img = cvLoadImage(src,1); if( img == NULL )     return 1;    img1 = cvCreateImageHeader(cvSize(20,30),img->depth,img->nChannels); img1->origin = img->origin; img1->widthStep = img->widthStep; img1->imageData = (char *)cvPtr2D(img,5,10,NULL); cvNot(img1,img1); img2 = cvCreateImageHeader(cvSize(20,30),img->depth,img->nChannels); img2->origin = img->origin; img2->widthStep = img->widthStep; img2->imageData = (char *)cvPtr2D(img,50,60,NULL); cvNot(img2,img2); cvNamedWindow("p104_6",CV_WINDOW_AUTOSIZE); cvShowImage("p104_6",img); cvWaitKey(0); cvReleaseImage(&img); cvReleaseImage(&img1); cvReleaseImage(&img2); cvDestroyWindow("p104_6");}

。。。啊,我加载的图片太大了,结果的小方块太小了。。。

// 第七题#include 
#include
int main(int argc, char *argv[]){ IplImage *img, *red, *green, *blue; char src[] = "F:\\test\\p104_7\\p104_7\\fruits.jpg"; img =cvLoadImage(src,1);    if( img == NULL)     return 1; red = cvCreateImage(cvSize(img->width, img->height), img->depth, 1); green = cvCreateImage(cvSize(img->width, img->height), img->depth, 1); blue = cvCreateImage(cvSize(img->width, img->height), img->depth, 1); cvSplit(img, red, green, blue, NULL); cvZero(img); cvMerge(NULL, green, NULL, NULL, img); cvNamedWindow("p104_7", 1); cvShowImage("p104_7", img); cvWaitKey(0); IplImage *clone1 = cvCreateImage(cvGetSize(green), green->depth, green->nChannels); IplImage *clone2 = cvCreateImage(cvGetSize(green), green->depth, green->nChannels); cvCopy(green, clone1, NULL); cvCopy(green, clone2, NULL);// IplImage *clone1 = (IplImage *)cvClone(green);// IplImage *clone2 = (IplImage *)cvClone(green); double min_val = 0.0, max_val = 0.0; cvMinMaxLoc(green, &min_val, &max_val, NULL, NULL, NULL); unsigned char thresh = (unsigned char)((max_val-min_val)/2.0); cvSet(clone1, cvScalar(thresh), NULL); cvSetZero(clone2); cvCmp(green, clone1, clone2, CV_CMP_GE); cvSubS(green, cvScalar(thresh/2), green, clone2); cvShowImage("p104_7", green); cvWaitKey(0); cvReleaseImage(&img); cvReleaseImage(&red); cvReleaseImage(&green); cvReleaseImage(&blue); cvDestroyWindow("p104_7"); return 0;}

转载于:https://www.cnblogs.com/suwen/archive/2013/03/20/2972321.html

你可能感兴趣的文章
DIS选举优先级
查看>>
liunx自学基础知识笔记 关机重启shutdown
查看>>
关于jquery选择器中:first和:first-child和:first-of-type的区别及:nth-child()和:nth-of-type()的区别...
查看>>
水平垂直居中几种实现方式
查看>>
MFC封装接口DLL 对话框无法显示,或者位图加载不上
查看>>
redis 服务器管理
查看>>
nginx 日志
查看>>
Hadoop2.6.3 集群部署
查看>>
Git的学习与使用(三)——Git 工作流程
查看>>
Docker分离环境搭建LNMP并部署Discuz
查看>>
IT族室内锻炼身体的小妙招
查看>>
Redis 集群管理常见操作
查看>>
25G SFP28光模块 VS 25G SFP28高速线缆,哪种更好?
查看>>
让PIP源使用国内镜像,提升下载速度和安装成功率
查看>>
人工智能新时代 抢抓机遇创未来
查看>>
浅谈网络地址转换(NAT)
查看>>
用Qt开发第一个Hello World程序
查看>>
常见的平面设计风格有哪些?
查看>>
数据库系统学习一
查看>>
批量删除注入
查看>>