您的位置:首页 > 运维架构

Opencv图像非线滤波-滚动条

2015-09-16 00:43 465 查看
#include<iostream>
#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

Mat srcImage, dstMedianBlurImage, dstBilateralFilterImage;
int g_nMedianBlurValue, g_nBilateralFilterValue;

//有滚动条事件时,可以进入回调函数
void on_Trackbar(int, void *)
{
medianBlur(srcImage, dstMedianBlurImage, 2 * g_nMedianBlurValue + 1);
imshow("【中值滤波器窗口】", dstMedianBlurImage);
bilateralFilter(srcImage, dstBilateralFilterImage, g_nBilateralFilterValue, g_nBilateralFilterValue * 2, g_nBilateralFilterValue / 2);
imshow("【双边滤波器窗口】", dstBilateralFilterImage);
}

int main()
{
srcImage = imread("tiger.jpg");
imshow("【原图】", srcImage);
dstMedianBlurImage.create(srcImage.size(), srcImage.type());
dstBilateralFilterImage.create(srcImage.size(), srcImage.type());

namedWindow("【中值滤波器窗口】");
createTrackbar("Value", "【中值滤波器窗口】", &g_nMedianBlurValue, 100, on_Trackbar);
on_Trackbar(g_nMedianBlurValue, 0);
namedWindow("【双边滤波器窗口】");
createTrackbar("Value", "【双边滤波器窗口】", &g_nBilateralFilterValue, 100, on_Trackbar);
on_Trackbar(g_nBilateralFilterValue, 0);

waitKey(0);

return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: