当前位置:网站首页>Opencv learning log 14 - count the number of coins in the picture (regardless of overlap)
Opencv learning log 14 - count the number of coins in the picture (regardless of overlap)
2022-07-06 15:43:00 【@Spring sauce】
Preface
This article mainly describes how to count the number of coins in image processing .
One 、 Code
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main()
{
cv::Mat srcMat = imread("C://Users//john//Desktop//1.jpg", 0);
cv::Mat resMat;
cv::Mat res2Mat;
cv::Mat Matstate;
cv::Mat center;
//adaptiveThreshold(srcMat, resMat, 255, ADAPTIVE_THRESH_GAUSSIAN_C, THRESH_BINARY_INV, 15, 10);// Adaptive binarization
threshold(srcMat, resMat, 100, 255, THRESH_BINARY);
connectedComponentsWithStats(resMat, res2Mat, Matstate, center, 8, CV_32S); // Connected domain markers
int line = 0;
line = Matstate.rows;
//cv::Mat B = Matstate.rowRange(0, 3).clone(); // extract 0 To 2 That's ok
int i;
int j;
int coinnum = 0;
for (i = 0; i < Matstate.rows; i++)
{
if (Matstate.at<int>(i, 4) >= 1000 && Matstate.at<int>(i, 4) <= 10000)
{
coinnum = coinnum + 1;
cv::Rect rect;
rect.x = Matstate.at<int>(i, 0);
rect.y = Matstate.at<int>(i, 1);
rect.width = Matstate.at<int>(i, 2);
rect.height = Matstate.at<int>(i, 3);
rectangle(resMat, rect, CV_RGB(255, 255, 255), 1, 8, 0);
}
}
std::cout << coinnum << std::endl;
imshow("resMat", resMat);
waitKey(0);
}
summary
1. The code can run directly , If you don't understand, please leave a message .
边栏推荐
- Crawler series of learning while tapping (3): URL de duplication strategy and Implementation
- Learning record: Tim - capacitive key detection
- 0-1 knapsack problem (I)
- Accounting regulations and professional ethics [5]
- Shell脚本编程
- Scoring system based on 485 bus
- 程序员的你,有哪些炫技的代码写法?
- MATLAB综合练习:信号与系统中的应用
- ucorelab3
- Cost accounting [13]
猜你喜欢
Stm32 dossiers d'apprentissage: saisie des applications
VS2019初步使用
B - 代码派对(女生赛)
UCORE Lab 1 system software startup process
Take you to use wxpy to create your own chat robot (plus wechat interface basic data visualization)
FSM和i2c实验报告
Scoring system based on 485 bus
How to build a nail robot that can automatically reply
JS --- BOM details of JS (V)
Learning record: Tim - Basic timer
随机推荐
How to build a nail robot that can automatically reply
Learning record: how to perform PWM output
C语言学习笔记
初入Redis
FSM and I2C experiment report
Cost accounting [18]
ucorelab4
JS --- BOM details of JS (V)
ucore lab 6
Shell脚本编程
Scoring system based on 485 bus
LeetCode#19. Delete the penultimate node of the linked list
VS2019初步使用
E. Breaking the Wall
Research Report on market supply and demand and strategy of Chinese hospital cleaning chemicals industry
C语言是低级和高级的分水岭
Ball Dropping
Printing quality inspection and verification system Industry Research Report - market status analysis and development prospect forecast
Research Report on printed circuit board (PCB) connector industry - market status analysis and development prospect forecast
7-1 懂的都懂 (20 分)