【OpenCV】中saturate_castuchar的含义和用法是什么?
saturate_cast<uchar>主要是为了防止颜色溢出操作
原理大致如下
if(data<0) data=0;
elseif(data>255) data=255;
比如我们对像素进行线性操作。
<1> 不使用saturate_cast<uchar>
//三个for循环,执行运算 g_dstImage(i,j) =a*g_srcImage(i,j) + bfor (int y = 0; y < g_srcImage.rows; y++){for (int x = 0; x < g_srcImage.cols; x++){for (int c = 0; c < 3; c++){//g_dstImage.at<Vec3b>(y, x)[c] = saturate_cast<uchar>((g_nContrastValue*0.01)*(g_srcImage.at<Vec3b>(y, x)[c]) + g_nBrightValue);g_dstImage.at<Vec3b>(y, x)[c] = (g_nContrastValue*0.01)*(g_srcImage.at<Vec3b>(y, x)[c]) + g_nBrightValue;}}}
<2> 使用saturate_cast<uchar>
//三个for循环,执行运算 g_dstImage(i,j) =a*g_srcImage(i,j) + bfor (int y = 0; y < g_srcImage.rows; y++){for (int x = 0; x < g_srcImage.cols; x++){for (int c = 0; c < 3; c++){g_dstImage.at<Vec3b>(y, x)[c] = saturate_cast<uchar>((g_nContrastValue*0.01)*(g_srcImage.at<Vec3b>(y, x)[c]) + g_nBrightValue);}}}
总结:
相当于是对图像色彩变化时做的保护!
【OpenCV】中saturate_castuchar的含义和用法是什么?相关推荐
- Java中static的含义和用法
Java中static的含义和用法 static:静态的,用于修饰成员(成员变量,成员方法); 1.被static所修饰的变量或者方法会储存在数据共享区; 2.被static修饰后的成员变量只有一份! ...
- python的含义和用法_python中列表的含义及用法
示例 列表是元素的集合,存储在一个变量中.列表中存储的元素类型没有限制,下面是列表的一个简单例子. students = ['bernice', 'arron', 'cody'] for studen ...
- python中main的含义及用法_python中main函数的用法
Python Python开发 Python语言 python中main函数的用法 什么场景下会有main函数? 当该python脚本被作为模块(module)引入(import)时,其中的main( ...
- android中tools的含义及用法
终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 第一部分 安卓开发中,在写布局代码的时候,ide可以看到布局的预 ...
- opencv中CV_IMAGE_ELEM的用法读取每个像素
可以使用OpenCV定义的宏来提取象素值 假设灰度图像image,存取其i行j列的象素可以这样:CV_IMAGE_ELEM(image, uchar,y, x) 如果是彩色图像就是 CV_IMAGE_ ...
- OpenCV中CvArr* 的含义~
图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 今天在查询函数cvConvertScale的原型 ...
- drop table中cascade的含义及用法
在删除一个表时,如果该表的主键是另一个表的外键,如果不用cascade关键字就会报错: SQL> drop table dict_loc_type;drop table dict_loc_typ ...
- java中static什么意思_Java中static的含义和用法
static:静态的,用于修饰成员(成员变量,成员方法); 1.被static所修饰的变量或者方法会储存在数据共享区; 2.被static修饰后的成员变量只有一份! 3.当成员被static修饰之后, ...
- 简单说明xml文件中foreach中collection的含义和用法
前提: 一般出现在mybatis框架中,写sql的xml文件中 目的: 方便在xml文件中写含有in的sql:例如:select * from table where name in ("1 ...
最新文章
- H.264编码系统几个比较重要的算法
- 新晋小白怎样才能做好seo优化
- [JAVA][Liferay] Configure sharding in multiple sites
- 【自动驾驶】23.相机成像究竟是成在像平面还是成在焦平面
- Windows 全局钩子 Hook 详解
- c字符串中包含双引号_码哥学Python,一起解密神秘的字符串密码
- android 九宫格封装,Android 九宫格布局
- 怎样让计算机快速开机,怎样设置可以让电脑快速启动开机.doc
- ncm 网络_江森楼宇自控网络控制模块NCM优势详解
- 田汉卿:量化投资与风险控制(会议纪要)
- 发那科oimf是什么时候出的_请问下FANUC Oi-MF系统怎么把卡里的程序传到机床里面?...
- C4droid导出程序
- Android音视频——Libyuv使用实战
- 毕业设计(毕设)目标和要求 (以计算机软件毕业设计为例)
- MOSS的备份与还原
- 代价敏感学习初探 - 有偏损失函数设计
- 需求和设计阶段使用的IPO图
- hdu5020 Revenge of Collinearity 求三点共线的点对个数
- 计算机毕业设计ssm基于B_S的汽车售后服务管理系统e48c4系统+程序+源码+lw+远程部署
- 设计模式-实习期笔记