opencv二值化代码实现
生活随笔
收集整理的這篇文章主要介紹了
opencv二值化代码实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基于OPENCV的圖像二值化代碼:
#include <opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> #include"opencv2/imgproc/imgproc.hpp" #include <iostream> using namespace cv; Mat SrcImage; Mat GrayImage; Mat BinaryImage;void on_trackbar(int pos,void*) {//轉化為二值圖threshold(GrayImage, BinaryImage, pos, 255, CV_THRESH_BINARY);namedWindow("二值圖");imshow("二值圖", BinaryImage); }void to_GrayImage() {//創建與原圖同類型和同大小的矩陣GrayImage.create(SrcImage.size(), SrcImage.type());//將原圖轉換為灰度圖像cvtColor(SrcImage, GrayImage, CV_BGR2GRAY);namedWindow("灰度圖");imshow("灰度圖", GrayImage); }void creat_trackbar() {int nThreshold = 0;createTrackbar("二值圖閾值", "二值圖", &nThreshold, 254, on_trackbar); }int main() {SrcImage = imread("/home/caozilong/Workspace/python/beauty.jpg");namedWindow("原圖");imshow("原圖", SrcImage);to_GrayImage();on_trackbar(100, 0);creat_trackbar();waitKey(); }編譯
g++ erzhihua.cpp `pkg-config --cflags --libs opencv`運行結果:
減小閾值
CV_THRESH_BINARY_INV模式:
GDB調試,看二值化數據:
CV_THRESH_BINARY_INV
CV_THRESH_BINARY
可以看到:
1.二值化后,像素數據不是255就是0,只有兩個值。
2.INV后,數值取反。
結束
總結
以上是生活随笔為你收集整理的opencv二值化代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SVN branch分支管理
- 下一篇: 网格搜索、随机搜索机器学习实战