当前位置:网站首页>Opencv learning log 16 paperclip count
Opencv learning log 16 paperclip count
2022-07-06 15:43:00 【@Spring sauce】
Preface
This article is mainly about opencv How to count the number of paper clips 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 resover;
cv::Mat resover_dec;
cv::Mat resover_sign;
cv::Mat Matstate;
cv::Mat center;
cv::Mat kernel(14, 14, CV_8UC1);
// imshow("src", srcMat);
threshold(srcMat, resMat, 100, 255, THRESH_OTSU); // Dajin law
bitwise_not(resMat, resover);
imshow("resover", resover);
// morphologyEx(resover, resover_dec, 2, kernel, Point(0, 0), 1, BORDER_CONSTANT,morphologyDefaultBorderValue());// corrosion
// imshow("resover_dec", resover_dec);
connectedComponentsWithStats(resover, resover_sign, Matstate, center, 8, CV_32S); // Connected domain markers
int line = 0;
int clipnum = 0;
int i;
line = Matstate.rows;
for (i = 0; i < Matstate.rows; i++)
{
if (Matstate.at<int>(i, 4) >= 2000&& Matstate.at<int>(i, 4)<=8000)
{
clipnum = clipnum + 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(resover, rect, CV_RGB(255, 255, 255), 1, 8, 0);
}
}
std::cout << clipnum << std::endl;
imshow("resover", resover);
waitKey(0);
}
summary
1. The code can run directly , If you don't understand, please leave a message 、
边栏推荐
- ucore lab 2
- Learning record: use stm32f1 watchdog
- 基于web的照片数码冲印网站
- Flex --- detailed explanation of flex layout attributes
- Path problem before dynamic planning
- 动态规划前路径问题
- Learning record: STM32F103 clock system overview working principle
- Accounting regulations and professional ethics [5]
- China's earthwork equipment market trend report, technical dynamic innovation and market forecast
- Crawler series (9): item+pipeline data storage
猜你喜欢
MATLAB综合练习:信号与系统中的应用
ucorelab3
Matlab comprehensive exercise: application in signal and system
Take you to use wxpy to create your own chat robot (plus wechat interface basic data visualization)
STM32 learning record: play with keys to control buzzer and led
JS --- all knowledge of JS objects and built-in objects (III)
Visual analysis of data related to crawling cat's eye essays "sadness flows upstream into a river" | the most moving film of Guo Jingming's five years
VS2019初步使用
csapp shell lab
Learning record: understand systick system timer and write delay function
随机推荐
China's peripheral catheter market trend report, technological innovation and market forecast
JS --- detailed explanation of JS DOM (IV)
FSM and I2C experiment report
China's salt water membrane market trend report, technological innovation and market forecast
D - Function(HDU - 6546)女生赛
STM32学习记录:玩转按键控制蜂鸣器和LED
STM32 learning record: play with keys to control buzzer and led
Borg Maze (BFS+最小生成树)(解题报告)
China potato slicer market trend report, technical dynamic innovation and market forecast
力扣刷题记录
Crawler series (9): item+pipeline data storage
FSM和i2c实验报告
Es6---es6 content details
Take you to use wxpy to create your own chat robot (plus wechat interface basic data visualization)
Cost accounting [17]
洛谷P1102 A-B数对(二分,map,双指针)
Learning record: Tim - Basic timer
0-1背包問題(一)
Research Report on market supply and demand and strategy of China's Medical Automation Industry
Optimization method of path problem before dynamic planning