2017年4月16日 一周AnswerOpenCV佳作赏析
2017年4月16日 一周AnswerOpenCV佳作赏析

题目:图片去毛刺
优质解答:
}
)
radius;
Mat mInput,mOutput;
Mat mChannel[];
split(mInput_Bgr,mChannel);
; i ; i,mOutput_Bgr);
;
}
)
radius;
Mat mGSmooth,mDiff,mAbsDiff;
mOutput ,),radius);
,THRESH_BINARY_INV);
mDiff.setTo(Scalar(),mAbsDiff);
)
;
; id ; i );
RNG rng();
;
}
mSmoothEdge);
threshold(mSource,mThres,,,THRESH_BINARY_INV);
imshow(;
.;
findContours( mThres.clone(), contours, hierarchy, RETR_TREE, CV_CHAIN_APPROX_SIMPLE );
; i])), , , vector, Point() );
}
])), , , vector, Point() );
}
}
);
SmoothEdgeSingleChannel(mThres,mSmoothEdge,.,.,);
imshow("2) Smooth Edges",mSmoothEdge);
waitKey();
}

解析:
这个效果是不错的,但是废话太多了;精华部分值得体会。注意在做“边界获得”运算后,适当放大后加回了原始图像。
}
)
radius;
Mat mGSmooth,mDiff,mAbsDiff;
mOutput ,),radius);
,THRESH_BINARY_INV);
mDiff.setTo(Scalar(),mAbsDiff);
);
Mat dst;
imshow(.,.,);
imshow("dst",dst);
waitKey();
}
Hi,
In my project, I apply findcontours function to detect a rectangular object within a region of interest in the image. I am doing it in real time. Subsequently, I enclose the detected contour by a boundedrect which gives me its four vertices. However, the position of these vertices is not stable, it is changing very fast. Looks like the contour area is growing and shrinking, and have variations which causes the vertices' position to change. I have tried following solutions, but to no avail.
- Low pass filtering on the output of pixel positions.
- Median and Gaussian blur within the ROI.
- FastNlmeansDenoising: which is too slow for my application.
,), Scalar());
, , );
dilate(img, img, Mat(), Point(,));
//cout << "Inside corrected corners p3.5" << endl;
findContours(img, contours, CV_RETR_LIST, CV_CHAIN_APPROX_NONE);
// cout<<contours.size()<<endl;
// Mat tempimg(img.rows, img.cols, CV_8U, cv::Scalar(0));
// drawContours( tempimg, contours, -1, Scalar(255), 3, CV_AA );
// namedWindow("contours", CV_WINDOW_NORMAL);
// imshow("contours", tempimg);
// cout << "Inside corrected corners p4" << endl;
这个问题在AnswerOpenCV上也是讨论的很激烈,但是大多数还是从去噪音这个思路来说的 。
我认为在实时项目中(比如android),如果还是用静态图片的同样的处理方法来处理图片和寻找轮廓,肯定是会出现“颠簸”的情况。因此在考虑单幅图片的时候,还要同时考虑前面的/后面的图片;如果转换,也需要平滑处理。这些应该都是图像处理以外的东西了。
2017年4月16日 一周AnswerOpenCV佳作赏析的更多相关文章
- 2017年2月16日 分析下为什么spring 整合mybatis后为啥用不上session缓存
因为一直用spring整合了mybatis,所以很少用到mybatis的session缓存. 习惯是本地缓存自己用map写或者引入第三方的本地缓存框架ehcache,Guava 所以提出来纠结下 实验 ...
- 2017年2月16日-----------乱码新手自学.net 之MVC模型
第二篇博文,最近学习的内容还是回到了正题:ASP.NET MVC5之上.虽然EF学了个一知半解,但是用这点知识,看MVC5的MODEL部分应该还是够了.尽管周末还要恶补一下EF才行. (一)MVC简述 ...
- 2017年12月16日 ASP.NET基本用法
ASP.NET初级添加 利用css代码跟ASP.NET还有Javascript原生,LinQ来写增跟展示数据 首先介绍一个非常好用的控件,灵活并且循环展示数据库里面的数据 <asp:Repeat ...
- outlook 通讯录分类--2017年1月16日--对联系人分类管理
outlook功能多,复杂,导致打开界面就晕,通讯录分类 问:在Outlook 中,随着联系人数量的增多,亲朋好友.同事.客户的信息混杂在一起,每次发邮件都要用很长时间才能从联系人列表中找到需要的人. ...
- [转载]Ubuntu17.04(Zesty Zapus)路线图发布:2017年4月13日发布
Canonical今天公布了Ubuntu 17.04(Zesty Zapus)操作系统的发布路线图,该版本于今年10月24日上线启动,toolchain已经上传且首个daily ISO镜像已经生成.面 ...
- 11月16日《奥威Power-BI基于SQL的存储过程及自定义SQL脚本制作报表》腾讯课堂开课啦
上周的课程<奥威Power-BI vs微软Power BI>带同学们全面认识了两个Power-BI的使用情况,同学们已经迫不及待想知道这周的学习内容了吧!这周的课程关键词—— ...
- 12月16日广州.NET俱乐部下午4点爬白云山活动
正如我们在<广州.NET微软技术俱乐部与其他技术群的区别>和<广州.NET微软技术俱乐部每周三五晚周日下午爬白云山活动>里面提到的, 我们会在每周三五晚和周日下午爬白云山. ...
- 【2017年9月10日更新】ABP配套代码生成器(ABP Code Generator)帮助文档,实现快速开发
ABP代码生成器介绍 ABP Code Generator 针对abp这个框架做了一个代码生成器,功能强大.分为两大功能点,一个是数据层,一个是视图层. 数据服务层:通过它,可以实现表设计.领域层初始 ...
- 成都Uber优步司机奖励政策(4月16日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
随机推荐
- java枚举类型(转载)
public class TestEnum { /*最普通的枚举*/ public enum ColorSelect { red, green, yellow, blu ...
- k8s滚动升级
为了服务升级过程中提供可持续的不中断的服务,Kubernetes 提供了rolling update机制,具体配置需要修改对应服务的yaml文件 参数解析: minReadySeconds: 100 ...
- rabbitmq 用户管理
rabbitmqctl add_user root cor2016 rabbitmqctl set_user_tags root administrator http://host:15672/#/u ...
- iermu爱耳目
百度推出720P 云直播摄像头 查看直播请点击 直播 互联网网盘新动向实现初见端倪,之前写过一篇关于互联网网盘的思考. 我只是仅仅有想法而已,百度已经实现了一部分. 具体功能参见http://www. ...
- 160328、rabbitMQ集群部署示例
环境:Centos 6.5 x86_64MQ网址:http://www.rabbitmq.com/SERVER101\SERVER102 SERVER103 一.单节点安装 #yum install ...
- IT资料常用网址汇总
菜鸟联盟: http://www.runoob.com/ w3c school :https://www.w3cschool.cn/ http://www.w3school.com.cn/w3c/in ...
- oracle导入csv文件
oracle导入csv文件: 1.建好对应的表和字段: 2.新建test.ctl文件,用记事本编辑写入: load data infile 'e:\TB_KC_SERV.csv' --修改对应的文件路 ...
- java开源模板引擎
Velocity Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义 ...
- HOW TO FIX "EXPECTED BEGIN_ARRAY BUT WAS BEGIN_OBJECT" IN RETROFIT ?
https://www.freshbytelabs.com/2018/05/how-to-fix-expected-beginarray-but-was.html HOW TO FIX "E ...
- [Shell] 简单的自动检查ssh代理是否正常的脚本
As Follows: #!/bin/bash RESPONSE=`curl -s --socks5 www.123cha.com` -eq $? ] then echo SUCCESS else e ...