因为用CV_32F做处理精度较高,后面显示最终还得转换回cv_8UC3

示例:提高图像对比度(rgb和灰度都已实现)

#include <opencv2/opencv.hpp>
#include <iostream>using namespace cv;
using namespace std;int main(int argc, const char* argv[]) {Mat src, dst;//src = imread("./test.jpg");src = imread("./test.jpg", IMREAD_GRAYSCALE);//cvtColor(src, src, COLOR_BGR2GRAY);//if (src.empty()) {if (!src.data) {printf("could not load image...\n");return -1;}namedWindow("input img");  //默认自动窗口大小imshow("input img", src);Mat m1;src.convertTo(m1, CV_32F);//src.convertTo(dst, CV_32F, 1 / 255.0);int height = src.rows;int width = src.cols;int sc = src.channels();dst = Mat::zeros(src.size(), src.type());float alpha = 1.8;float beta = -50;for (int row = 0; row < height; row++){for (int col = 0; col < width; col++){for (int c = 0; c < 3; c++)   //三个通道{if (sc == 3) {float b = m1.at<Vec3f>(row, col)[0];  //34.0000000float g = m1.at<Vec3f>(row, col)[1]; //14.0000000float r = m1.at<Vec3f>(row, col)[2];dst.at<Vec3b>(row, col)[0] = saturate_cast<uchar>(b * alpha + beta);dst.at<Vec3b>(row, col)[1] = saturate_cast<uchar>(g * alpha + beta);dst.at<Vec3b>(row, col)[2] = saturate_cast<uchar>(r * alpha + beta);}else if (sc == 1) {float v = m1.at<float>(row, col);dst.at<uchar>(row, col) = saturate_cast<uchar>(v * alpha + beta);}}}}imshow("output img", dst);waitKey(0);return 0;
}

VS编译运行:


参考文章:opencv用浮点数记录像素值的意义何在,用8UC3不就可以了吗? - William Wu的回答 - 知乎

为什么要把CV_8UC3(Vec3b)无符号整型转换成CV_32F(Vec3F)32位浮点数据类型?(在高精度下处理)相关推荐

  1. 【C#】ip与无符号整型转换

    IP在数据库中储存,为了减少空间,可以存为无符号的整形,长度刚好够用.变换关系如下 这里使用Linq表达式 //ip转整型,示例结果为771452401 var ip = "45.251.1 ...

  2. 微信小程序js无符号整型转换有符号整型

    在开发微信小程序读取金桔蓝牙设备的时候,经常用到设置RSSI或者读取RSSI,蓝牙设备的RSSI数据放在一个8位的BYTE 下面,这样就需要将无符号的整型转换为有服务的整型数据,即将uint8 转换为 ...

  3. C语言无符号整型转换字符串,字符串转换无符号整型

    char* UInt32toStr(unsigned int n) {     char buf[10] = "";   static char str[10]="&qu ...

  4. 0 有符号和无符号整型数字

    8位无符号整型:0 -> 255 11111111     255 ... 10000000     128 01111111     127 ... 00000000       0 8位有符 ...

  5. php无符号整数转有符号整数,PHP中把有符号整型转换为无符号整型方法_PHP教程...

    PHP中把有符号整型转换为无符号整型方法 这篇文章主要介绍了PHP中把有符号整型转换为无符号整型方法,转换的方法很简单,本文直接给出转换方法,需要的朋友可以参考下 在一个短地址项目中,根据六位字符与I ...

  6. 有符号和无符号整型的临界点

    在C++ primer plus 上的图 觉得好久copy下来了 关于有符号和无符号整型的重置点 .

  7. 【c语言学习课堂笔记第三天】:int函数有符号整型和无符号整型

    int 函数 有符号整型: 概念:截图 sizeof函数可查看字节数量 声明变量技巧: 随堂笔记: #include <stdio.h> #include <stdlib.h> ...

  8. 无符号整型与有符号整型

    最近对于有符号整型与无符号整型,感觉很是头疼,都不知道怎么一回事.先看例子 #include<stdio.h> int main(void) {     unsigned a=2;     ...

  9. 负数时的有符号整型和无符号整型的转换

    目录 一.补码 二.负数时的有符号整型和无符号整型的转换 三.关于无符号的笔试题 一.补码 有符号数在计算机中存储,用数的最高位存放符号, 正数为0, 负数为1 例如:有符号数 1000 0011,其 ...

最新文章

  1. 支付宝支付 第四集:配置类的定义和注入
  2. OUYA游戏开发快速入门教程第1章了解OUYA及其设备
  3. Python中小括号( )、中括号[ ]和大括号{}分别代表什么?
  4. SpringBoot学习笔记(4)----SpringBoot中freemarker、thymeleaf的使用
  5. 使用tf.keras搭建mnist手写数字识别网络
  6. c 结构体 不允许使用不完整的类型_.NET Core 基础类型介绍
  7. 面向对象程序设计 第六次作业
  8. python工作不好找吗_如何更好的找到 Python 工作?
  9. 微信无法连接服务器1-502,只有一部iphone x手机,在微信公众号中选择菜单,出现bad gateway 502错误,原因?...
  10. PHP|Yii2下通过插件进行图片处理(亲测可用)
  11. mysql 常用命令集_Mysql 常用命令集
  12. android异步任务更新进度条,Android的AsyncTask异步任务浅析
  13. 用.htaccess 禁止IP访问
  14. Linux 硬盘故障修复
  15. 小米笔记本UEFI关闭安全启动
  16. python期货基本面分析_期货盘面分析语言,我用python做期货
  17. 2022城市辅助驾驶赛道陷入“三国争霸”,数据智能助力毫末智行杀出重围?
  18. 星上SAR实时处理调研1
  19. 全国大学生数学建模竞赛——2017A题(学习笔记)
  20. 领域驱动设计实践(战术篇)

热门文章

  1. 在iis中注册.net framework
  2. Bootstrap3.0学习第十轮(下拉菜单、按钮组、按钮式下拉菜单)
  3. 【AaronYang风格】第一篇 CodeFirst 初恋
  4. tcpdump抓包命令_tcpdump实战
  5. 自由自在休闲食品以创新助80后女孩成功创业
  6. [性能] SAP销售订单取数逻辑优化---索引表
  7. 这些名言都是有后半句的,以前都按前半句理解,太坑人!
  8. 生产订单中的下层物料信息
  9. 给用户增加SAP_ALL权限
  10. sap abap好用的函数