永发信息网

用opencv提取图像轮廓之后能不能再把轮廓内部图像或者像素截取出来?

答案:2  悬赏:30  手机版
解决时间 2021-02-24 12:04
用opencv提取图像轮廓之后能不能再把轮廓内部图像或者像素截取出来?
最佳答案
这功能可以实现
全部回答
opencv中用于读取图像像素点的值的方法很多,这里主要提供了两种常用的方法。   方法一   利用iplimage数据类型的imagedata定位数据缓冲区来实现,imagedata包含指向图像第一个像素数据的指针   例:   if( imgsource != 0 )//imgsource为iplimage*   {   for ( int i = 0; i < imgsource->height; ++i )   {   uchar * pucpixel = (uchar*)imgsource->imagedata + i*imgsource->widthstep;   for ( int j = 0; j < imgsource->width; ++j )   {   pucpixel[3*j] = 0;//像素第一个通道的值   pucpixel[3*j + 1] = 0;//像素第二个通道的值   pucpixel[3*j + 2] = 0;//像素第三个通道的值   }   }   }   方法二   利用opencv提供的getreal*d,setreal*d和get*d,set*d,这里*为2,对于单通道图像可以使用前两个函数,对于多通道图像可以使用后两个函数   例:   if( imgsource != 0 )//imgsource为iplimage*   {   for ( int i = 0; i < imgsource->height; ++i )   for ( int j = 0; j < imgsource->width; ++j )   {   //获取(i, j)处的三通道图像像素值   cvscalar scapixelval = cvget2d( imgsource, i, j );   //获取(i, j)处的单道图像像素值   double dpixelval = cvgetreal2d( imgsource, i, j );   //设定(i, j)处的三通道图像像素值   cvset2d( imgsource, i, j, scalpixelval );   //设定(i, j)处的单通道图像像素值   cvsetreal2d( imgsource, i, j, dpixelval );   }   }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
基尔餐厅在什么地方啊,我要过去处理事情
停车场(南韩大街)地址在哪,我要去那里办事,
晒晒你们为孩子小学上学花了多少钱
那么如何区别真假黑枸杞呢?
长沙新东方学校怎么样,长沙新东方学校好不好
不伤肝的感冒药有那些
草厂九条/草厂横胡同(路口)这个地址在什么地
纯化水不能作为下列哪种液体药剂的分散介质()
下巴短的人命运有哪些影响?
贝贝拉姆潢川店地址在哪,我要去那里办事
离婚九年前妻不让我认孩子,现在又来相认?
写字楼公区堆物是否违法 如果违法 违反哪条法
按城市内部结构,城市可分为()。A.块状城市、
小龟电瓶车前挡泥瓦怎么安
有一个两年多前我看过的电视节目,就是中国,
推荐资讯
关于河南省汝州市温泉镇温泉村贪污一事,怎样
为什么我开通超级会员后,有的记录就没有显示
究竟要看破什么,放下什么
老君田地址在哪,我要去那里办事
红牛手机分页太多,如何取消?
情侣吵架,男方对女方发了很大的火,后来男方
C# 写一个程序同时实时播放两个视频,我开两
心缘喜庆用品专卖地址在什么地方,想过去办事
鑫福源烤肉饭汤包(大上海城店)在哪里啊,我有
剪爱理发室地址在什么地方,我要处理点事
我们的故事这首歌好听,他到底是不是陶吉吉唱
失业人员个人缴纳医保按照什么标准比例
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?