Gamma校正_c++调试方法

Gamma校正_c++调试方法voidgamma_correction(cv::Mat&src,cv::Mat&dst,floatK){ ucharLUT[256]; src.copyTo(dst); for(inti=0;i<256;i++){ //floatf=(i+0.5f)/255; floatf=i/255.0; f=pow(f,K); //LUT[i]=cv::saturate_cast<uchar>.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

void gamma_correction(cv::Mat& src, cv::Mat& dst, float K) {
	uchar LUT[256];
	src.copyTo(dst);
	for (int i = 0; i < 256; i++) {
		//float f = (i + 0.5f) / 255;
		float f = i / 255.0;
		f = pow(f, K);
		//LUT[i] = cv::saturate_cast<uchar>(f*255.0f-0.5f);
		LUT[i] = cv::saturate_cast<uchar>(f*255.0);
	}

	if (dst.channels() == 1) {
		cv::MatIterator_<uchar> it = dst.begin<uchar>();
		cv::MatIterator_<uchar> it_end = dst.end<uchar>();
		for (; it != it_end; ++it) {
			*it = LUT[(*it)];
		}
	}
	else {
		cv::MatIterator_<cv::Vec3b> it = dst.begin<cv::Vec3b>();
		cv::MatIterator_<cv::Vec3b> it_end = dst.end<cv::Vec3b>();
		for (; it != it_end; ++it) {
			(*it)[0] = LUT[(*it)[0]];
			(*it)[1] = LUT[(*it)[1]];
			(*it)[2] = LUT[(*it)[2]];
		}
	}

}

 

 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190654.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月16日 下午4:43
下一篇 2026年2月16日 下午5:15


相关推荐

  • 「视频直播技术详解」系列之二:处理

    「视频直播技术详解」系列之二:处理关于直播的技术文章不少,成体系的不多。我们将用七篇文章,更系统化地介绍当下大热的视频直播各环节的关键技术,帮助视频直播创业者们更全面、深入地了解视频直播技术,更好地技术选型。

    2022年7月21日
    20
  • rcnn目标检测算法_SCL90R在线测试

    rcnn目标检测算法_SCL90R在线测试•   RCNN    RCNN(RegionswithCNNfeatures)是将CNN方法应用到目标检测问题上的一个里程碑,由年轻有为的RBG大神提出,借助CNN良好的特征提取和分类性能,通过RegionProposal方法实现目标检测问题的转化。     算法可以分为四步:     1)候选区域选择     RegionProposal是一类传统的区域提取方

    2022年10月9日
    5
  • dumpbin 用法

    dumpbin 用法今天工作中需要查看dll中的内部结构所以重点学习了一下dumpbin的用法dumpbin.exe在/VC/BIN目录下,如果在其他目录下无法使用dumpbin,可以运行该目录下VCVARS32.BAT,这个批处理文件就是用来修复VC环境的。 下面列出了DUMPBIN命令行选项。此外列出每个选项提供的输出的一些了。/ALL显示除代码反汇编外的所有可用信息。使用

    2022年6月19日
    84
  • java varbinary_SQL 中存放 varbinary型数据

    java varbinary_SQL 中存放 varbinary型数据使用带有 BULK 选项的 OPENROWSET 以下 Transact SQL 增强功能支持 OPENROWSET BULK 函数 与 SELECT 一起使用的 FROM 子句可以调用 OPENROWSET BULK 而非表名 同时可以实现完整的 SELECT 功能 带有 BULK 选项的 OPENROWSET 在 FROM 子句中需要有一个相关名称 也称为范围变量或别名 可以指定列别

    2026年3月19日
    2
  • badboy设置中文_badboy基本操作

    badboy设置中文_badboy基本操作一 badboy 简介 Badboy 监控 internetexpl 的活动 提供录制 回放功能 录制功能 badboy 窗口的顶部显示当前是否处于录制状态 如果点击 play 按钮 badboy 自动关闭录制功能 等到 play 结束后 可以点击 recording 按钮 继续录制脚本 Remark 必须等到上一步的 request 处理完毕后 才能点击发送下一个 request 否则下一个 request 会作为第一个 r

    2026年3月19日
    2
  • innerHTML和outerHTML的区别

    innerHTML和outerHTML的区别为什么要总结innerHTML和outerHTML的区别呢,主要是在看vue.js官方文档时,看到生命周期时)]原生的方法有点忘了,所以要重拾起来。示例如下:<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><metaname=”viewport”content=”width=device-width,initial-scale=1.0″>

    2022年6月25日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号