opencv3矩的计算-在图像中的应用
2015-10-20 00:13
295 查看
#include<iostream> #include<opencv2/opencv.hpp> #include<vector> using namespace cv; using namespace std; int main() { Mat srcImage = imread("group.jpg"); imshow("【原图】", srcImage); //首先对图像进行空间的转换 Mat grayImage; cvtColor(srcImage, grayImage, CV_BGR2GRAY); //对灰度图进行滤波 GaussianBlur(grayImage, grayImage, Size(3, 3), 0, 0); imshow("【滤波后的图像】", grayImage); //为了得到二值图像,对灰度图进行边缘检测 Mat cannyImage; Canny(grayImage, cannyImage, 128, 255, 3); //在得到的二值图像中寻找轮廓 vector<vector<Point>> contours; vector<Vec4i> hierarchy; findContours(cannyImage, contours, hierarchy, RETR_TREE, CHAIN_APPROX_SIMPLE, Point(0, 0)); //绘制轮廓 for (int i = 0; i < (int)contours.size(); i++) { drawContours(cannyImage, contours, i, Scalar(255), 1, 8); } imshow("【处理后的图像】", cannyImage); //计算轮廓的矩 for (int i = 0; i < (int)contours.size(); i++) { Moments g_vMoments = moments(contours[i], true); cout << "【用矩计算出来的第" << i << "个轮廓的面积为:】" << g_vMoments.m00 << endl; } waitKey(0); return 0; }
相关文章推荐
- Linux之split命令详解
- 表单提交错误后返回内容消失问题的解决方法(PHP网站)
- CXF+Spring+Tomcat简明示例
- AOP的半自动代理 及 缺点
- Linux常见的挂载目录说明
- Linux中mysql忘记密码,或者登录不上,等等,都可使用以下方式
- Linux安装软件
- svnserve.conf: Option expected的问题解决方法
- nginx整合tomcat实现域名泛解析
- linux 开机自动清空/tmp目录是怎么回事
- linux下安装7z命令及7z命令的使用
- tomcat问题总结
- 设置Hadoop+Hbase集群pid文件存储位置
- Servlet学习笔记--统计网站的访问量(jsp/servlet)
- CentOS编译安装LAMP
- 学习日志---linux 磁盘分区的挂载
- Centos6.3 Minimal 虚拟机安装与配置
- Hadoop(七)——子项目Hive
- linux笔记:linux软件包管理
- linux-(date)