include

using namespace cv;

using namespace std;

int main(){

Mat pic =imread("/Users/leung/Documents/imgs/Rice.png");

Mat gray,bw;

cvtColor(pic, gray, COLOR_BGR2GRAY);

threshold(gray, bw, 0, 255, THRESH_OTSU);

Mat seg = bw.clone();

//cnts 二维点集合

vector> cnts;

//将米粒轮廓集合放入cnts

findContours(seg,cnts, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE);

drawContours(pic, cnts, -1, Scalar(0,0,0xff));

float area;

Rect rect;

// count为有效米粒的个数

int count = 0;

string strCount;

for(int i = 0; i<=cnts.size() - 1; i++){

// c 为每一个米粒轮廓

vector c =cnts[i];

area = contourArea(c);

if(area < 10)

continue;

count++;

cout << "blob" << i << ":" << area << endl;

//每一个米粒的外接矩形

rect = boundingRect(c);

//将外接矩形画在原图上

rectangle(pic, rect, Scalar(0xff,0xff,0xff), 1);

stringstream ss;

ss << count;

ss >> strCount;

putText(pic, strCount, Point(rect.x, rect.y), FONT_HERSHEY_PLAIN, 0.5, Scalar(0, 0xff, 0));

}

imshow("gray", pic);

//imshow("bw", bw);

waitKey();

}

java-opencv 米粒数_opencv学习之米粒分割 #201906121549相关推荐

  1. java opencv 提取车牌_opencv 学习之 车牌提取

    车牌识别分两步,一是车牌提取,而是字符识别. 下面是车牌提取. VS2010. OpenCV249. //载入图像 char * path = "d:\\picture\\06.jpg&qu ...

  2. java opencv 物体检测_OpenCV.物体识别

    1.度娘:"OpenCV 物体识别" ZC:主看这个,讲的比较细致,操作一般都是使用的 OpenCV里面的exe,一些代码是 java的 可以搞定,最后一段测试代码 是Python ...

  3. opencv 核 腐蚀_OpenCV学习笔记(五)形态学操作:腐蚀、膨胀

    一.形态学概述 我们图像处理中指的形态学,往往表示的是数学形态学.下面一起来了解数学形态学的概念. 下面是来自百度百科对数学形态学的解释: 数学形态学是由一组形态学的代数运算子组成的,它的基本运算有4 ...

  4. opencv心得体会_opencv学习心得第一章

    背景介绍:opencv是专门用于图像处理的机器视觉库,python是用于快速开发的轻量级语言.opencv提供的接口可以让python轻松的对这个机器视觉库进行操作,进行图像处理. Opencv中的G ...

  5. java opencv 相似度_opencv使用 java 对比两个人脸的相似度

    1.创建Java工程,并导入如下jar包 opencv-440.jar 2.编写代码 import org.opencv.core.*; import org.opencv.imgcodecs.Img ...

  6. java opencv 模板匹配算法_OpenCV探索之路(九):模板匹配

    模板匹配的作用在图像识别领域作用可大了.那什么是模板匹配? 模板匹配,就是在一幅图像中寻找另一幅模板图像最匹配(也就是最相似)的部分的技术. 说的有点抽象,下面给个例子说明就很明白了. 在上面这幅全明 ...

  7. java opencv 调用摄像头_opencv C++实现调用摄像头动态识别人脸

    前言 #include #include #include #include #include #include #include #include #include #include using n ...

  8. java 图像梯度检测_opencv学习笔记(六)---图像梯度

    图像梯度的算法有很多方法:sabel算子,scharr算子,laplacian算子,sanny边缘检测(下个随笔)... 下面是我的一些理解: sabel算子: sobel算子主要用于获得数字图像的一 ...

  9. c语言米粒数实验报告,数字图像处理实验报告米粒.doc

    数字图像处理实验报告米粒 一.任务描述 本次试验的主要任务是用matlab编写程序确定图1(原始图像)中的米粒个数,达到能辨认连接的两个米粒和不足一个的米粒的精确度,并计算出了米粒的平均大小,标识出了 ...

最新文章

  1. 阿里技术文档:Redis+Spring全家桶+Dubbo精选+高性能+高并发
  2. php内容采集系统,第一步、采集规则
  3. 【嵌入式开发】C语言 指针数组 多维数组
  4. 《C程序设计语言》- 字符输入和输出
  5. GO语言实现RSA 加密和解密的实现
  6. Spring的@Scope的几种取值
  7. 2021年KTV行业发展蓝皮书
  8. 利用RMAN转移裸设备到文件系统
  9. android9.0变化,十年巨变 Android 1.0对比Android 9
  10. Pandas循环提速 7 万多倍是怎么实现的?
  11. php查询mysql表里的数据_PHP连接Mysql数据库读取表格数据
  12. c语言写马达驱动程序,如何用单片机驱动马达
  13. 【总结】1147- 一文吃透 Webpack 核心原理
  14. [Alg]排序算法之插入排序
  15. proxyconnect tcp: dial tcp: lookup proxy.example.com on 8.8.8.8:53: no such host
  16. windows 增加开机启动服务器,Windows Server2012删除或添加开机启动项的方法
  17. 计算机制作节日贺卡教案,幼儿园节日教案:做贺卡
  18. 解决EMD端点效应的方法比较
  19. Java Word中的文本、图片替换功能
  20. java识别图片中文字技术

热门文章

  1. python包导入详解
  2. 2022牛客多校第一场A、C、D、G、I、J
  3. stricmp——不区分大小写比较字符串
  4. 骑缝章 Java_Java实现在PDF中添加骑缝章
  5. 使用git命令从gitlab下载项目
  6. 02 KVM安装虚拟化
  7. vb6.0服务器组件安装失败,win10系统安装不上vb6.0的解决方法
  8. WAP的组成及主要特点(转)
  9. Adobe Audio 分轨录音教程(需要KX,Live机架)
  10. 星历表(DE406+Testeph.f)整理兼求教