大家要是使用过MATLAB,要想取得负片就会使用到这个imcomplement函数,这个函数就是对图像进行取反的动作,比如灰度为0,负片运算之后就是255了,同理255转为0。下面使用OpenCV来实现相关的功能,这里采用查找表的方式,以便提高计算速度,例子如下:

#python 3.7.4,opencv4.1
#蔡军生 https://blog.csdn.net/caimouse/article/details/51749579
#
import numpy as np
import cv2
from matplotlib import pyplot as plt#负片计算函数
def imcomplement(img):table = np.array([255-i for i in np.arange(0, 256)]).astype("uint8")    return cv2.LUT(img, table) #使用OpenCV的查找表函数x = np.array([[255, 10, 75],[44, 225, 100]],np.uint8)
x = imcomplement(x)
print(x)img = cv2.imread('imc1.png')
img1 = imcomplement(img)img2 = cv2.imread('imc2.png')
img3 = imcomplement(img2)
#
cv2.imshow('img', img)
cv2.imshow('img1', img1)cv2.imshow('img2', img2)
cv2.imshow('img3', img3)
#
cv2.waitKey(0)
c

在OpenCV里实现负片函数imcomplement相关推荐

  1. 在OpenCV里实现视频格式转换

    前面学习了怎么样读取mp4的视频文件,并播放出来.如果你想把视频转换一个格式保存起来,这又得怎么样做呢?在OpenCV里提供了一个写文件的类VideoWriter,它就可以实现保存为不同的文件格式.在 ...

  2. 在OpenCV里使用泛洪算法函数floodFill

    泛洪算法--Flood Fill,也称为种子填充--Seed Fill算法.用于确定连接到多维数组中给定节点的区域.最直接的一个应用就是「颜色填充」,就是 Windows 绘画本中那个小油漆桶的标志, ...

  3. openCV中的findHomography函数分析以及RANSAC算法的详解(源代码分析)

    本文将openCV中的RANSAC代码全部挑选出来,进行分析和讲解,以便大家更好的理解RANSAC算法.代码我都试过,可以直接运行. 在计算机视觉和图像处理等很多领域,都需要用到RANSAC算法.op ...

  4. 彩色图片在OpenCV里的表示方式

    前面了解了灰度图片在python里的表示方式,也是图片的数据结构,它是采用numpy的ndarray来存储,是一个二维的数据结构.那么彩色图片是怎么样表示呢?难道也是采用二维数组吗?在理解表示方式之前 ...

  5. OpenCV里的常用Rect用法

    OpenCV里通常定义一个矩形有两种方式,一种是通过矩形左上角和矩形宽高来定义: Rect_ (_Tp _x, _Tp _y, _Tp _width, _Tp _height) 另一种是通过矩形左上角 ...

  6. 在OpenCV里用fillPoly填充多边形

    前面学习过fillConvexPoly函数,这个函数是用来填充凸多边形的,但在OpenCV里还添加了fillPoly函数,这个函数与fillConvexPoly函数有什么差别呢?一般来说,fillPo ...

  7. 在OpenCV里实现游戏外挂的位置识别

    前面学习过模板识别的函数,也演示过它的使用,但是还是不少学生来问我能不能用它来开发游戏的外挂,我的回答应该是肯定的.因为游戏是一种图形的展示,使用窗口的方法来识别已经不可能,根据位置识别只能固定的目标 ...

  8. 在OpenCV里使用图片修复

    有一些旧的图片可能保存得不好,会导致丢失了一些像素,如下图这样: 这时如果有人觉得这个图片很珍贵,要想去修复它,怎么办呢? 在OpenCV里提供了两种算法来进行图片修复,第一种是cv.INPAINT_ ...

  9. opencv里的Moments成员变量的理解

    在opencv里,Moments定义如下(参考opencv官方文档) class Moments{public:Moments();Moments(double m00, double m10, do ...

最新文章

  1. Linux软件包增量升级,Linux增量更新jar包内容
  2. 堆密度测定的意义_堆密度的测量
  3. 【python3的学习之路四】使用list和tuple
  4. 计算碳原子系综的能级C
  5. 拍摄中如何判断灰度等级_如何判断电力铁塔的电压等级?每个人都应知道
  6. codeigniter mysql -1_在CodeIgniter中使用现有的MySQL数据库
  7. matlab绘制以Hz为单位的bode图
  8. [生产库实战] 如何使用触发器对生产库上亿级大表进行实时同步
  9. 孔维滢201771010110《面向对象程序设计(java)》第一周学习总结
  10. Oracle查询 rownum和rowid的区别
  11. [leedcode 137] Single Number II
  12. RTI_DDS自定义插件开发 5 专属区域(_xxEA)
  13. 产品经理,没有那么牛逼
  14. Nessus下载及安装
  15. 数学四大思想八大方法_四种思想方法,让你轻松掌握高中数学
  16. android.os.FileUriExposedException: file:///storage/emulated/0/1566547538954.jpg exposed beyond app
  17. 给对象添加一个新对象
  18. 41. 如何手动触发全量回收垃圾,如何立即触发垃圾回收
  19. Excel如何跳过空值自动编号呢
  20. c语言中出现nan错误,c语言中浮点运算的inf和nan错误

热门文章

  1. 国产化替代浪潮下,企业该如何保障电子邮件安全?
  2. 【EndNote】文献模板编排语法详解
  3. 我的世界java如何加光影_《我的世界》中国版光影添加教程 国服怎么添加光影?...
  4. 2020-9-6 提取B站视频的标题(就是提取网页的文字)
  5. 根据ip地址查询城市信息
  6. 无线充电接收原理图—TWS充电盒方案
  7. 想自学原画应该从何处着手?
  8. ABAQUS模拟钢筋混凝土节点低周反复荷载试验
  9. 什么是压电雨量监测站?由什么组成
  10. 计算机考试ks文件夹,大学计算机考试PPT Word Excel都关了 但是装他们的文件夹KS没关 就提交了有事吗......