Opencv图像线性滤波-滚动条

来源:互联网 发布:google 高程提取软件 编辑:程序博客网 时间:2024/06/05 10:32
#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;Mat srcImage;Mat dstBoxFilter, dstBlur, dstGaussianBlur;int g_BoxFilterValue = 1, g_BlurValue = 1, g_GaussianBlurValue = 1;const int g_nMaxAlphaValue = 100;//有滚动条事件时,可以进入回调函数void on_Trackbar(int, void *){boxFilter(srcImage, dstBoxFilter, -1, Size(g_BoxFilterValue + 1, g_BoxFilterValue + 1));blur(srcImage, dstBlur, Size(g_BlurValue + 1, g_BlurValue + 1));//高斯滤波必须是奇数值GaussianBlur(srcImage, dstGaussianBlur, Size(2 * g_GaussianBlurValue + 1, 2 * g_GaussianBlurValue + 1), 0, 0);imshow("方框滤波", dstBoxFilter);imshow("均值滤波", dstBlur);imshow("高斯滤波", dstGaussianBlur);}int main(){srcImage = imread("牛吃草.jpg");dstBoxFilter.create(srcImage.size(), srcImage.type());dstBlur.create(srcImage.size(), srcImage.type());dstGaussianBlur.create(srcImage.size(), srcImage.type());g_BoxFilterValue = 0;g_BlurValue = 0;g_GaussianBlurValue = 0;namedWindow("方框滤波");createTrackbar("Value", "方框滤波", &g_BoxFilterValue, g_nMaxAlphaValue, on_Trackbar);on_Trackbar(g_BoxFilterValue, 0);namedWindow("均值滤波");createTrackbar("Value", "均值滤波", &g_BlurValue, g_nMaxAlphaValue, on_Trackbar);on_Trackbar(g_BlurValue, 0);namedWindow("高斯滤波");createTrackbar("Value", "高斯滤波", &g_GaussianBlurValue, g_nMaxAlphaValue, on_Trackbar);on_Trackbar(g_GaussianBlurValue, 0);waitKey(0);return 0;}

0 0