C++ opencv 滑动条 Trackbary以及处理三通道和单通道图像
#include <opencv2\core.hpp>
#include <opencv2\highgui.hpp>
#include <opencv2\imgproc.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\n", Ch, r, c);
src.at<Vec3b>(r, c)[Ch] = g_sigma;
}
}
}
src.copyTo(dst);
}
处理单通道图像:
srcImage.ptr<int>[row](col)
C++ opencv 滑动条 Trackbary以及处理三通道和单通道图像的更多相关文章
- 使用OpenCV滑动条写成的简单调色器,实时输出RGB值
好久没有写博客了,近期在看OpenCV.于是动手写了个简单的RGB调色器,在终端实时输出RGB的值.通过这个程序学习滑动条的使用.程序中主要用到cvCreateTrackbar ,其使用方法例如以下: ...
- Opencv基础课必须掌握:滑动条做调色盘 -OpenCV步步精深
滑动条做调色盘 我们来想一下这个程序需要什么,首先需要一个窗口显示一切=.=(︿( ̄︶ ̄)︿废话一样): 说到调色盘除了画板也就是窗口(默认为黑色),调色就要涉及三种颜色 红色Red(我们用R表示), ...
- opencv:创建滑动条
函数原型: ,); #include <opencv.hpp> using namespace cv; #define WINDOW_NAME "线性混合示例" // ...
- 利用OpenCV和MFC对话框建设一个有滑动条控制的播放器--转
(一)问题的提出: OpenCV有一个很简单的播放视频文件并加载滑动条的程序,但是如何用MFC对话框来创建一个有滑动条控制的播放器呢,网络上四处搜索都没有代码可以参考,下的都是些骗子链接文件,很过分, ...
- opencv —— createTrackbar、getTrackbarPos 滑动条的创建和使用
创建滑动条:createTrackbar 函数 createTrackbar 函数用于创建一个可以调整数值的滑动条,并将滑动条附加在指定的窗口上. int createTrackbar(const s ...
- python opencv:使用滑动条做调色板
cv2.getTrackbarPos() 函数的 一个参数是滑动条的名字, 第二个参数是滑动条被放置窗口的名字, 第三个参数是滑动条的默认位置. 第四个参数是滑动条的最大值, 第五个函数是回调函数,每 ...
- Opencv笔记(六)——把滑动条当调色板
学习目标: 学会把滑动条绑定到 OpenCV 的窗口. 学习函数:cv2.getTrackbarPos(), cv2.creatTrackbar()等. 简单演示: 通过调节滑动条来设定画板颜色.我们 ...
- OpenCV学习笔记——滑动条开关
由于opencv库中并没有专门为开关而设的函数,可以用滑动条做开关 代码: #include<highgui.h> #include<cv.h> int g_switch_va ...
- 滑动条 Trackbar[OpenCV 笔记9]
OpenCV中没有实现按钮的功能,我们可以利用滑动条来实现按钮功能. , ); trackbarname 轨迹条的名字. winname 窗口的名字,轨迹条会依附在这个窗口上. value 一个指向整 ...
随机推荐
- Hibernate 简易入门教程
Hibernate HIbernate主要包含如下几个接口:Session,Query,Criteria以及Transaction.这些接口的实现在幕后是紧密相连的. 在一个HIbernate应用程序 ...
- MyBatis配置Setting详细说明
该表格转载自http://blog.csdn.net/summer_yuxia/article/details/53169227 setting是指定MyBatis的一些全局配置属性,这是MyBati ...
- 100200F Think Positive
传送门 题目大意 给你一个数n和长度为n的序列,序列中的每个数均为1或-1,如果一个点j对于任意的k都满足题目中给的式子,则j是一个合法位置,问这样的j有多少个 分析 这道题有两种方法,分别对应代码1 ...
- Git 之 协同开发
GitHub中多人协同开发和单人开发还是有点差别,协同开发一般有两种方式: 合作者,将其他用户添加到仓库合作者中之后,该用户就具有向当前仓库提交代码. 组织,创建一个组织,然后再该组织下可以创建多个项 ...
- Spring第一篇
我计划用3到五篇文章来描述Spring,这是第一篇 1 . 什么是Spring Spring 是一个开源框架,Spring 是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnso ...
- Charles常见问题汇总
Charles是一款很好用的抓包修改工具,但是如果你不是很熟悉这个工具的话,肯定会遇到各种感觉很莫名其妙的状况,这里就来帮你一一解答下面再说说charles的一些其他常用的功能. 选择请求后,右键可以 ...
- WebGoat系列实验Cross-Site Scripting (XSS)
WebGoat系列实验Cross-Site Scripting (XSS) PhishingTitle 本次实验是在一个已知存在XSS漏洞的页面进行钓鱼攻击.通过使用XSS与HTML注入,在页面中注入 ...
- 解决低版本Eclipse安装Findbugs插件无法显示问题
问题描述 Eclipse安装Findbugs,显示安装成功,但是重启Eclipse在[Window]-[show view]-[other]中没有显示 原因 Eclipse版本太低,新版的Findbu ...
- DropDownList 控件的SelectedIndexChanged事件触发不了
先看看网友的问题: 根据Asp.NET的机制,在html markup有写DropDownList控件与动态加载的控件有点不一样.如果把DropDownList控件写在html markup,即.as ...
- ASP.NET网页动态添加数据行
一看到这标题<ASP.NET网页动态添加数据行>,想起来似乎有点难实现.因为网页的周期性原因,往往在PostBack之后,状态难于有所保留.但Insus.NET又想实现这样的效果,用户点击 ...