-
大小: 11.15MB文件類型: .zip金幣: 1下載: 0 次發(fā)布日期: 2023-06-15
- 語言: 其他
- 標(biāo)簽: 計(jì)數(shù)??
資源簡介
利用VS2010編寫的大米計(jì)數(shù)程序,用Opencv庫中的函數(shù)進(jìn)行圖像處理,可避免小顆粒干擾
代碼片段和文件信息
#include
//opencv?highgui?模塊頭文件
#include
//opencv圖像處理頭文件
#include
using?namespace?cv;
//包含cv命名空間
int?main()//控制臺(tái)應(yīng)用程序的入口函數(shù)
{
//載入原圖
Mat?srcImage=imread(“cell1.jpg“);
if(!srcImage.data)
{
printf(“讀取圖片錯(cuò)誤!\n“);
return?false;
}
//顯示原圖
imshow(“[原圖]“srcImage);
//轉(zhuǎn)為灰度圖
Mat?grayImage;
cvtColor(srcImagegrayImageCV_BGR2GRAY);
imshow(“[灰度圖]“grayImage);
//閾值分割
int?ThresholdValue=50;//注意:分割閾值需自己調(diào)整
Mat?threshImage;
threshold(grayImagethreshImageThresholdValue2550);
imshow(“【二值化效果圖】“threshImage);
//進(jìn)行閉運(yùn)算
Mat?element=?getStructuringElement(MORPH_RECT?Size(8?8));?
//進(jìn)行形態(tài)學(xué)操作
morphologyEx(threshImagethreshImage?MORPH_CLOSEelement);
imshow(“【形態(tài)學(xué)效果圖】“threshImage);
//查找輪廓
//定義輪廓和層次結(jié)構(gòu)
vector>?contours;
vector?hierarchy;
//查找輪廓
findContours(threshImagecontourshierarchyCV_RETR_LIST?CV_CHAIN_APPROX_SIMPLE);
int?number=0index?=0;
int?num1=contours.size();
Mat?dstImage=?Mat::zeros(?threshImage.size()?CV_8UC3?);
for(;?index?>=?0;?index?=?hierarchy[index][0]?)//hierarchy[index][0]表示第
????????//index個(gè)輪廓的后一個(gè)輪廓的索引編號(hào)
{
int?num1=contours[index].size();//將第index個(gè)輪廓的像素值賦值給num1
if((num1<150)&&(num1>20))//給一個(gè)閾值,用于去掉小斑點(diǎn)的干擾和細(xì)胞疊加的干擾
{
Scalar?color?=?Scalar(?rand()&255?rand()&255?rand()&255?);
//此句代碼的OpenCV2版為:
drawContours(?dstImage?contoursindex??color?CV_FILLED?8?hierarchy??0?Point());
//此句代碼的OpenCV3版為:
//drawContours(?dstImage?contours?index?color?FILLED?8?hierarchy?);
number++;
}
else?if((num1>150)&&(num1<250))//給一個(gè)閾值區(qū)分出兩個(gè)細(xì)胞疊加
{
Scalar?color?=?Scalar(?rand()&255?rand()&255?rand()&255?);
//此句代碼的OpenCV2版為:
drawContours(?dstImage?contoursindex??color?CV_FILLED?8?hierarchy??0?Point());
//此句代碼的OpenCV3版為:
//drawContours(?dstImage?contours?index?color?FILLED?8?hierarchy?);
number=number+2;
}
}
imshow(“【輪廓效果圖】“dstImage);
std::cout<<“Number?is:“< std::cout<<“Number?is:“< //std::cout<<“Number?is:“< //erode(threshImagethreshImageelement?);
//morphologyEx(threshImagethreshImage?MORPH_OPEN?element);
//顯示效果圖??
//顯示效果
waitKey(0);
return?0;
}
//---------使用說明-------
//注意1:將需要計(jì)數(shù)的圖片放到count.cpp文件同一個(gè)文件夾下,并把文件main函數(shù)第一行的圖片名“cell1.jpg”換成所需要的圖片名。
//注意2:二值化分割閾值?ThresholdValue需要自己根據(jù)嘗試慢慢調(diào)整
//注意3:畫出輪廓時(shí)的干擾閾值也需要自己調(diào)整
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-04-13?21:06??Opencv圖像計(jì)數(shù)\
?????目錄???????????0??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Debug\
?????文件???????70656??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Debug\Opencv圖像計(jì)數(shù).exe
?????文件??????590980??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Debug\Opencv圖像計(jì)數(shù).ilk
?????文件??????969728??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Debug\Opencv圖像計(jì)數(shù).pdb
?????目錄???????????0??2017-04-13?21:06??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\
?????目錄???????????0??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\
?????文件????????7828??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\CL.read.1.tlog
?????文件?????????292??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\CL.write.1.tlog
?????文件?????????381??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\Opencv圖像計(jì)數(shù).exe.intermediate.manifest
?????文件??????????63??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\Opencv圖像計(jì)數(shù).lastbuildstate
?????文件????????2873??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\Opencv圖像計(jì)數(shù).log
?????文件?????????713??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\Opencv圖像計(jì)數(shù).vcxprojResolveAssemblyReference.cache
?????文件???????????0??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\Opencv圖像計(jì)數(shù).write.1.tlog
?????文件?????????560??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\cl.command.1.tlog
?????文件??????213014??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\count.obj
?????文件????????2762??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\li
?????文件????????6464??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\li
?????文件?????????522??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\li
?????文件?????????432??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\mt.command.1.tlog
?????文件?????????704??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\mt.read.1.tlog
?????文件?????????246??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\mt.write.1.tlog
?????文件??????330752??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\vc100.idb
?????文件??????528384??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Debug\vc100.pdb
?????文件????????3229??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù).vcxproj
?????文件?????????943??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù).vcxproj.filters
?????文件?????????143??2017-04-13?21:06??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù).vcxproj.user
?????文件???????46898??2017-04-09?21:22??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\cell1.jpg
?????文件????????2811??2017-04-13?21:07??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù)\count.cpp
?????文件????11554816??2017-04-13?21:08??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù).sdf
?????文件?????????921??2017-04-13?21:06??Opencv圖像計(jì)數(shù)\Opencv圖像計(jì)數(shù).sln
............此處省略4個(gè)文件信息
評(píng)論
共有 條評(píng)論