概念

OpenCV查找表的定义:
查找表【i】=newvalue
查找表第i项(灰度值i)的新值为 newvalue。也就是,将原灰度图像中灰度值为i的像素变为灰度值”newvalue“。查找表可以看成一个简单的一对一的映射函数 y=f(x)。
为什么要用查找表?
查找表用起来比较方便,对于一些简单灰度图像变换,可以定义多个查找表。然后使用同一个调用函数,调用不同的查找表,实现不同的功能。

应用

查找表应用在灰度图像中,它有点像一个向量(1行256列),256列对应0~255灰度值。
定义查找表代码如下:

cv::Mat lookup_negative(1, 256, CV_8U);//矩阵只有1个通道,用CV_8U类型

接下来,定义查找表中的映射函数

//变负片
for (int i = 0; i < 256; i++)lookup_negative.at<uchar>(i) = 255 - i;

现在定义了一个生成负片图像的查找表,然后调用该查找表处理图像。

//读取原图像
cv::Mat image = cv::imread("图像.jpg", 0);
//保存结果
cv::Mat result;
//将原图像变为负片
cv::LUT(image, lookup, result);
cv::imshow("负片",result);

函数cv::LUT(),将定义的查找表应用在原图像,并输入结果图像。该函数有三个参数,第一个参数是输入图像,第二参数是查找表,第三个参数是输出图像。

在实现一些简单的灰度图像变换时,可以定义多个查找表实现不同的功能(如负片,灰度增强、二值化等等),也可以将其封装在类中。在程序中只需要用一条代码 cv::LUT()调用便可。

OpenCV2系列

  • OpenCV2帧间差分检测运动目标
  • OpenCV2从摄像头获取帧并写入视频文件
  • OpenCV相机标定
  • OpenCV检测图像SURF特征
  • OpenCV特征点检测
  • Opecv霍夫变换检测直线
  • OpenCV拉普拉斯变换
  • 图像分割:Grabcut算法小程序
  • Opencv2相似图像检索
  • OpenCV2应用Meanshift查找相似物体
  • OpenCV2鼠标回调函数画矩形和圆
  • OPENCV人脸检测实现
  • Opencv2打开摄像头并显示图像

OpenCV查找表应用相关推荐

  1. OpenCV 【十二】OpenCV如何扫描图像、利用查找表和计时

    目录 OpenCV如何扫描图像.利用查找表和计时 1.函数计算时间测试case 2. Mat图像的存储机理 3. 像素遍历的3--4种方式 4. 实例 OpenCV如何扫描图像.利用查找表和计时 如何 ...

  2. 【OpenCV 4开发详解】图像LUT查找表

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  3. 独家|OpenCV 1.2 如何用OpenCV扫描图像、查找表和测量时间(附链接)

    翻译:陈之炎 校对:张一然.林夕本文约4400字,建议阅读10分钟本文为大家系统地介绍了OpenCV官方教程. 目标 在这里将寻求以下问题的答案: 如何遍历图像的各个像素? OpenCV的矩阵值是如何 ...

  4. OpenCV遍历图像性能比较、利用查找表

    原文:http://blog.csdn.net/chenjiazhou12/article/details/21052849 对于如何扫描图像的方法实在是太多了,在浏览一些资料的时候也找到了一些好的方 ...

  5. python利用opencv自带的颜色查找表(LUT)进行色彩风格变换

    1 LUT颜色查找表介绍 Look Up Table(LUT)查找表 1.颜色查找表就是一种像素值映射的表,如下是一个对比度改变图像的查找表,从图中可以知道: 原图中像素值为40的像素,经过查找表映射 ...

  6. OpenCV之core 模块. 核心功能(1)Mat - 基本图像容器 OpenCV如何扫描图像、利用查找表和计时 矩阵的掩码操作 使用OpenCV对两幅图像求和(求混合(blending))

    Mat - 基本图像容器 目的 从真实世界中获取数字图像有很多方法,比如数码相机.扫描仪.CT或者磁共振成像.无论哪种方法,我们(人类)看到的是图像,而让数字设备来"看"的时候,则 ...

  7. opencv cv2.LUT()(使用查找表中的值填充输出数组)

    from cv2.__init__.py def LUT(src, lut, dst=None): # real signature unknown; restored from __doc__&qu ...

  8. OpenCV扫描图像,查找表和时间测量

    OpenCV扫描图像,查找表和时间测量 OpenCV扫描图像,查找表和时间测量 目标 我们的测试用例 图像矩阵如何存储在内存中? 高效的方法 迭代器(安全)方法 通过参考返回即时计算地址 核心功能 性 ...

  9. 【OpenCV】扫描图像、查找表、计时

    扫描图像   扫描图像有四种方法:C指针访问方法.迭代器方法.即时地址计算方法.LUT函数.实现方法及用时比较可参考下方代码. 参考链接:https://docs.opencv.org/master/ ...

最新文章

  1. delete from inner join
  2. 给phpcms v9增加类似于phpcms 2008中的关键词表
  3. maven升级遇到的疑惑
  4. 咱中国女人太贪钱? 其实真不怨她们
  5. htmlunit爬取js异步加载后的页面
  6. Spring4.x(16)--SpringEL-正则表达式
  7. 一般处理程序页ashx 序列化 Json数组
  8. Bailian3246 展览会【计数+求和】
  9. 查询数据库里所有表名,字段名的语句
  10. docker非常详细的介绍
  11. 《那些事之Log4j》什么是log4j?【专题一】
  12. cpu压测 windows_小白求问怎么用AIDA64进行CPU压力测试
  13. h5难做吗_H5如何制作?制作H5是否很难?-
  14. 简单密码验证:重复的数字字母或连续的数字字母
  15. JQuery——横纵向菜单设计
  16. 利用八爪鱼爬取关键词搜索的微博数据
  17. 快速搭建淘宝优惠券网站
  18. libxml2库函数详解
  19. vue 渲染函数处理slot_解决vue同一slot在组件中渲染多次的问题
  20. js:开启弹窗和关闭弹窗

热门文章

  1. Kafka数据存储概述
  2. css实现的卡片式渐变色卡html页面前端源码
  3. android 使用https请求
  4. c语言数星星,数星星 (C++代码)
  5. Gradle导入已有工程
  6. 阿里升级消费运营和服务企业能力:蒋凡兼任天猫总裁
  7. 位操作:置1、置0、取反、取值--SetBit ResetBit Reversebit GetBit
  8. 《华尔街日报如何讲故事的》读书笔记
  9. Unity Animation设置动画播放初始时间
  10. 计算机音乐功能吗,音乐发烧友用计算机;可以进行MIDI音乐编辑;具有刻录功能的DV? 爱问知识人...