zoukankan      html  css  js  c++  java
  • C++ opencv 滑动条 Trackbary以及处理三通道和单通道图像

    #include <opencv2core.hpp>
    #include <opencv2highgui.hpp>
    #include <opencv2imgproc.hpp>
    
    using namespace cv;
    
    const int LowTh_Max = 20;
    const int HighTh_Max = 100;
    int g_HighTh, g_LowTh;
    Mat srcImage;
    Mat dstImage;
    
    void on_Trackbar(int, void*);
    
    int main(){
    
    	g_HighTh = 80;
    	g_LowTh = 0;
    	srcImage = imread("F:sfz1.jpg");
    	if (!srcImage.data){ printf("fail!"); waitKey(0); return false; };
    	namedWindow("1");
    	imshow("1", srcImage);
    	createTrackbar("LowTh:20", "1", &g_LowTh, LowTh_Max, on_Trackbar);
    	createTrackbar("HighTh:100", "1", &g_HighTh, HighTh_Max, on_Trackbar);
    
    	waitKey(0);
    	return 0;
    }
    
    void on_Trackbar(int, void*){
    
    	Canny(srcImage, dstImage, g_HighTh, g_LowTh);
    	imshow("1", dstImage);
    
    }
    

    1. 定义全局变量及其变量的最大值(const);

    2.namedWindow和g_XXX的初始值,createTrackbar,waitKey(0);

    3.写on_Trackbar(int, void*), imshow;

    处理三通道图像:

    void procc(Mat &src, Mat &dst){
    	for (int Ch = 0; Ch < 3; Ch++){
    		for (int r = 0; r < src.rows; r++){
    			for (int c = 0; c < src.cols; c++){
    				//printf("%d %d %d
    ", Ch, r, c);
    				src.at<Vec3b>(r, c)[Ch] = g_sigma;
    			}
    		}
    	}
    	src.copyTo(dst);
    }
    

    处理单通道图像:

    srcImage.ptr<int>[row](col)
    

      

  • 相关阅读:
    bootmgr is missing
    【转】ahci和IDE的区别
    win10系统故障代码:0xc000014c
    c++小数点后舍入
    关于类里再声明自身类实例的思考
    Java集合
    Python图片转字符画
    102. Binary Tree Level Order Traversal
    1041. Robot Bounded In Circle
    144. Binary Tree Preorder Traversal
  • 原文地址:https://www.cnblogs.com/byteHuang/p/8373159.html
Copyright © 2011-2022 走看看