opencv分别使用指针和LUT函数对BGR图像像素进行反转处理
#include<iostream>
#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<vector>
#include<opencv2/core/core.hpp>
using namespace std;
using namespace cv;//LUT函数对图像元素进行查找、扫描和操作图像
int main()
{double time0 = static_cast<double>(getTickCount());//记录起始时间Mat src = imread("D:\\VC\\c++\\opencv源码\\opencv源码\\12.bmp");cout << "result.size()=" << src.size() << "\tresult.channels()=" << src.channels() << endl;Mat dst = src.clone();int channel = src.channels();//单通道图像if (channel == 1){ //定义函数lutuchar table[256];for (int i = 0; i < 256; i++){table[i] = 255-i;}Mat lut(1, 256, CV_8UC1, table);LUT(dst, lut, dst);}//BGR图像//if (channel == 3)//{ //使用指针对BGR图像进行反转处理// for (int i = 0; i < dst.rows; i++)// {// Vec3b*image = dst.ptr<Vec3b>(i);// for (int j = 0; j < dst.cols; j++)// {// image[j][0] = 255 - image[j][0];// image[j][1] = 255 - image[j][1];// image[j][2] = 255 - image[j][2];// }// }//}//使用LUT函数对BGR图像进行反转处理if (channel == 3){//定义函数lutuchar table[256 * 3];for (int i = 0; i < 256; i++){table[3 * i] = 255-i;table[3 * i + 1] = 255 - i;table[3 * i + 2] = 255 - i;}Mat lut(1, 256, CV_8UC3, table);LUT(dst, lut, dst);}//subtract(减函数)用于验证dst处理后是否正确subtract(Scalar(255, 255, 255), src, src);imshow("原图", src);imshow("处理后的图", dst);time0 = ((double)getTickCount() - time0) / getTickFrequency();cout << "此方法运行时间:" << time0 << "秒" << endl;//输出运行时间waitKey(0);system("pause");return 0;
}
opencv分别使用指针和LUT函数对BGR图像像素进行反转处理相关推荐
- 使用opencv中的merge()函数为BGR图像添加alpha通道
先上代码: #!/usr/bin/env python # -*- coding: utf-8 -*- # 图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 # 图像处理 ...
- opencv中LUT函数实现颜色空间缩减
opencv 2中的LUT函数为 : void LUT(InputArray src, InputArray lut, OutputArray dst,int interpolation); s ...
- 【OpenCV】之LUT函数
何为LUT,LUT(Look-Up Table)实际上就是一张像素灰度值的映射表,它将实际采样到的像素灰度值经过一定的变换如阈值.反转.二值化.对比度调整.线性变换等,变成了另外一个与之对应的灰度值, ...
- 【OpenCV】OpenCV函数精讲之 -- 颜色空间缩减及LUT函数
1.颜色空间缩减 颜色空间缩减的做法是:将现有颜色空间值除以某个输入值,以获得较少的颜色数.即做减法,比如颜色值0到9可取为新值0,10到19可取为10,以此类推. 有一个简单的公式来实现颜色空间缩减 ...
- opencv mat 修改_OpenCV中initUndistortRectifyMap函数存在bug原因探究
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 3D视觉工坊的第52篇文章 最近在运行如下一段代码时,生成的mapx和mapy有点异常. 代码片段如下 ...
- 利用OpenCV的函数equalizeHist()对图像作直方图均衡化处理
如果一幅图像的灰度值集中在某个比较窄的区域,则图像的对比度会显得比较小,不便于对图像的分析和处理. 图像的直方图均衡化可以实现将原图像的灰度值范围扩大,这样图像的对比度就得到了提高,从而方便对图像进行 ...
- 【opencv学习笔记】003之图像像素基本操作(获取像素指针、范围处理)及掩膜操作(filter2D)详解
目录 一.前言 二.图像像素基本操作 1.获取图像像素指针 1.获取图像像素指针是什么? 2.相应API 3.获取目的 2.像素范围处理saturate_cast 1.像素范围处理是什么? 2.像素范 ...
- OpenCV-Python学习(8)—— OpenCV 颜色表操作(cv.LUT、cv.applyColorMap)
1. 知识点 学习查找表 cv.LUT()[look up table]: 颜色查找表: 函数 cv.applyColorMap() 的使用. 2. cv.LUT() 函数说明 2.1 函数使用 cv ...
- OpenCV之直方图绘制(calcHist函数详解)
目录 1.直方图的定义 2.calcHist()函数说明 3.绘制直方图 3.1 读取原图像并检查图像是否读取成功 3.2 定义直方图参数并计算直方图 3.3 绘制直方图 4.关于BGR直方图的绘制 ...
最新文章
- scau 2012新生赛 G只有神知道的世界
- JavaScript语言基础12
- python 笔记 haversine (两个经纬度坐标之间的距离)
- MySQL常用语句一、连接MySQL格式:mysql-h主机地址-u用户名-p用户密
- pandas 把某一列中字符串变数值_Python学习教程:Python数据分析实战基础 | 初识Pandas...
- 第二十一章 刘备脱险
- elasticjob 分片策略
- 多层bom展开_K3 BOM 多级展开SQL
- nodejs爬虫抓取搜狗微信文章详解
- 详解DFT的scan(边界扫描)
- LayUI中的基本元素之进度条
- RGB彩色图像、灰度图像
- 原创 | 一文读懂机器学习中的shapley值方法
- AIT Worldwide Logistics与卡利塔航空建立民航预备队合作伙伴关系
- Dubbo3.0系列(2)- Dubbo3.0核心概念与架构
- 用超级终端给手机烧IMEI号
- 教你从头发洞察宝宝的健康情况
- win7下微软自带语音识别的系统命令(二)
- (四)美赛画图篇:画图模板+画图工具
- 【微信支付】(亲测可用)对接app微信支付V2版本 后端代码示例