Python 图像处理OpenCV:灰度图的非线性对数变换(笔记)
灰度图的非线性对数变换,其中c为尺度比较常数,可以通过改变c来得到不同的图形效果。
代码如下:
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
# 非线性对数变换
# 传入参数 img_gray为灰度图,c为尺度比较常数
def nonlinear_logarithm_transform(img_gray, c):result = c * np.log(1.0 + img_gray)# uint8是专门用于存储各种图像的(包括RGB,灰度图像等),范围是从0–255# 这里要转换成unit8,否则会报错result = np.uint8(result)return result
# 绘制对数图像
def nonlinear_logarithm_function(c):x = np.arange(0, 255)y = c * np.log(1.0 + x)plt.title("nonlinear_logarithm")# # 设置x轴的作图范围# plt.xlim(0, 255)# # 设置y轴的作图范围# plt.ylim(0, 255)# 表达的是x轴的刻度内容的范围plt.xticks((0, 255))# 表达的是y轴的刻度内容的范围plt.yticks((0, 255))plt.text(125, 1560, 'c='+str(c))plt.plot(x, y)plt.show()
if __name__ == '__main__':img = cv.imread("./image/fengjing.jpg")img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)# 此阈值可以改变,c叫做尺度比较常数# 通过调整c,可以改变图像c = 300res = nonlinear_logarithm_transform(img_gray, c)nonlinear_logarithm_function(c)cv.imshow("Origin", img_gray)cv.imshow("nonlinear_logarithm_transform", res)cv.waitKey(0)cv.destroyAllWindows()
运行结果:
图像的效果有了明显变化
Python 图像处理OpenCV:灰度图的非线性对数变换(笔记)相关推荐
- python opencv 灰度图非局部平均去噪
python opencv 灰度图非局部平均去噪 代码: import cv2 import numpy as np # 灰度图像去噪 def MeansDenoising(img,h,templat ...
- [Python图像处理] 十一.灰度直方图概念及OpenCV绘制直方图
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- numpy 用于图像处理(灰度图、转置、通道分离、图像扩展、水平镜像、水平翻转、调换x,y坐标、添加mask、随机打乱顺序、交换通道)
目录 numpy 用于图像处理 1. 转换为灰度图 2. 转置 3. 画出三个通道的彩图 4. 图像扩展 5. 水平镜像 --- 交换行 6. 水平翻转 --- 交换列 7. 调换x,y坐标 8. 添 ...
- opencv 灰度图
#include <opencv2/opencv.hpp> Mat srcImg = imread("D://3901781-2.JPG"); // 读取源图像 if ...
- #Python #字符画 #灰度图 使用Python绘制字符画及其原理
由于最近身体状况不太好所以更新会有点慢,请大家多多包涵.同时也提醒大家注意保重身体! 前提:默认大家已经正确安装了 Python,且正确将Python配置到了系统Path . 目录 1.字符画的概况 ...
- opencv灰度图转伪彩图或彩色图
一.背景 一般例如红外图像,呈现出来的是灰度图效果,此时每个像素有一个,在0-255内,如果想要观看伪彩图,也就是人工设置的彩色,需要在灰度图的基础上,给它增加RGB三个通道的值,让它变为看起来有红绿 ...
- 图像处理之灰度图转伪彩色图原理与代码分析
首先强调:在matlab中用[row,col]=size(x)获取的行和列是与图片编辑器显示的行列相反. 首先RGB图转为灰度图,通过rgb2gray()函数:灰度图中每个像素点的灰度值根据三个分段线 ...
- c++ opencv 灰度图转彩色图
灰度图转彩色图______主要作用:在图上画彩色线条等等 //灰度图转彩色图 cv::Mat grayToRGB(const cv::Mat input_img) {//创建一个和灰度图一样大小的0值 ...
- python热力图转灰度图_ThingJS之3D热力图,一个不那么“技术”的实现方式
物联网通过配置热力图,可查看该场景中设备的分布或显示设备属性功能分布.ThingJS推出3D热力图,一个不那么"技术"的实现方式! 热力图是地理位置可视化的一种表现方式,能够使得比 ...
最新文章
- 链表问题4——反转双向链表
- 互联网人知道几个情人节?
- flash写保护原理_老司机带路:LPC82x 存储器及读写保护 手到擒来!
- H5页面与ios交互返回上一级
- 【python科学计算发行版】
- OpenShift 4 MTC - 从 OpenShift 3 向 OpenShift 4 迁移应用
- linux乱码临时怎么解决方案,(收集)linux环境下乱码的解决方法
- R语言基于S3的面向对象编程
- 智能优化算法:阿基米德优化算法 -附代码
- i7 8750h支持linux,开启游戏本六核时代!酷睿i7-8750H处理器性能实测
- 私有云盘的搭建(owncloud、seafile)
- 【Qt设计开发】GUI界面设计开发
- 长沙民政职业技术学院计算机网络技术专业,长沙民政职业技术学院计算机网络技术专业...
- Android8.1系统添加屏幕左侧边缘向右滑退出当前页面功能
- solaris启动过程详解
- 2018年07月17日(1~10)
- Windows RDS远程会话服务
- 程序员应该避开的20个低级不良用户体验
- 用户开启了iCloud 照片库,选择了“优化 iPhone/iPad 储存空间”获取图片失败
- layui 表格在点表头排序时数据错乱