当前位置:网站首页>Opencv learning example code 3.2.3 image binarization
Opencv learning example code 3.2.3 image binarization
2022-07-06 20:53:00 【Terror blade】
#include <opencv2/objdetect.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/videoio.hpp>
#include <iostream>
#include <iomanip>
#include <opencv2/opencv.hpp>
#include <vector>
#include <opencv2/imgproc/types_c.h>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
cout<<"1234"<<endl;
Mat img=imread("lena.png");
if(img.empty())
{
cout<<"open error"<<endl;
return -1;
}
Mat gray;
cvtColor(img,gray,COLOR_BGR2GRAY);
Mat img_B ,img_B_V,gray_B,gray_B_V,gray_T,gray_T_V,gray_TRUNC;
threshold(img,img_B,125,255,THRESH_BINARY);
threshold(img,img_B_V,125,255,THRESH_BINARY_INV);
imshow("img_B",img_B);
imshow("img_B_V",img_B_V);
threshold(gray,gray_B,125,255,THRESH_BINARY);
threshold(gray,gray_B_V,125,255,THRESH_BINARY_INV);
imshow("gray_B",gray_B);
imshow("gray_B_V",gray_B_V);
threshold(gray,gray_T,125,255,THRESH_TOZERO);
threshold(gray,gray_T_V,125,255,THRESH_TOZERO_INV);
imshow("gray_T",gray_T);
imshow("gray_T_V",gray_T_V);
threshold(gray,gray_TRUNC,125,255,THRESH_TRUNC);
imshow("gray_TRUNC",gray_TRUNC);
Mat img_Thr=imread("threshold.png",IMREAD_GRAYSCALE);
Mat img_Thr_O,img_Thr_T;
threshold(img_Thr,img_Thr_O,100,255,THRESH_BINARY|THRESH_OTSU);
threshold(img_Thr,img_Thr_T,100,255,THRESH_BINARY|THRESH_TRIANGLE);
imshow("img_Thr_O",img_Thr_O);
imshow("img_Thr_T",img_Thr_T);
Mat adaptive_mean,adaptive_gauss;
adaptiveThreshold(img_Thr,adaptive_mean,255,ADAPTIVE_THRESH_MEAN_C,THRESH_BINARY,55,0);
adaptiveThreshold(img_Thr,adaptive_gauss,255,ADAPTIVE_THRESH_GAUSSIAN_C,THRESH_BINARY,55,0);
imshow("adaptive_mean",adaptive_mean);
imshow("adaptive_gauss",adaptive_gauss);
waitKey(0);
return 0;
}
边栏推荐
- Reinforcement learning - learning notes 5 | alphago
- [200 opencv routines] 220 Mosaic the image
- Laravel notes - add the function of locking accounts after 5 login failures in user-defined login (improve system security)
- Performance test process and plan
- Is it safe to open an account in flush? Which securities company is good at opening an account? Low handling charges
- 1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效
- c#使用oracle存储过程获取结果集实例
- 7、数据权限注解
- [DIY]如何制作一款個性的收音機
- SAP UI5 框架的 manifest.json
猜你喜欢
Quel genre de programmation les enfants apprennent - ils?
Rhcsa Road
Entity alignment two of knowledge map
"Penalty kick" games
The mail command is used in combination with the pipeline command statement
知识图谱之实体对齐二
[weekly pit] information encryption + [answer] positive integer factorization prime factor
The most comprehensive new database in the whole network, multidimensional table platform inventory note, flowus, airtable, seatable, Vig table Vika, flying Book Multidimensional table, heipayun, Zhix
[asp.net core] set the format of Web API response data -- formatfilter feature
(work record) March 11, 2020 to March 15, 2021
随机推荐
Simple continuous viewing PTA
Tips for web development: skillfully use ThreadLocal to avoid layer by layer value transmission
华为设备命令
Le langage r visualise les relations entre plus de deux variables de classification (catégories), crée des plots Mosaiques en utilisant la fonction Mosaic dans le paquet VCD, et visualise les relation
面试官:Redis中有序集合的内部实现方式是什么?
1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效
Rhcsa Road
[asp.net core] set the format of Web API response data -- formatfilter feature
Pytest (3) - Test naming rules
Rhcsa Road
Database - how to get familiar with hundreds of tables of the project -navicat these unique skills, have you got it? (exclusive experience)
【每周一坑】正整数分解质因数 +【解答】计算100以内质数之和
什么是RDB和AOF
SAP UI5 框架的 manifest.json
Application layer of tcp/ip protocol cluster
Value of APS application in food industry
Distributed ID
'class file has wrong version 52.0, should be 50.0' - class file has wrong version 52.0, should be 50.0
Notes - detailed steps of training, testing and verification of yolo-v4-tiny source code
What is the difference between procedural SQL and C language in defining variables