网络

教育改变生活

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1021|回复: 0
打印 上一主题 下一主题

Python基于线型变换实现图片加强

[复制链接]

97

主题

98

帖子

447

积分

版主

Rank: 7Rank: 7Rank: 7

积分
447
跳转到指定楼层
楼主
发表于 2020-5-26 08:47:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为了得到更加清晰的图像我们需要通过技术对图像进行处理,比如使用对比度增强的方法来处理图像,对比度增强就是对图像输出的灰度级放大到指定的程度,获得图像质量的提升。本文通过线性变换,实现图片加强。
线性变换的公式为:
O(r,c)=a∗I(r,c)+b,0≤r<R0≤c<W


图像的线性变换无疑就是利用矩阵的乘法就行线性变换,比如一个矩阵I ,2I,3I (np.unt8 ndarry类型就是unt8类型)就是一个矩阵的变换.
代码如下所示:
import cv2
import numpy as np
import sys

img = cv2.imread("D://python/p1.jpg",cv2.IMREAD_GRAYSCALE)#读取图片,需将引号内容改成自己的图片位置

print(img)#打印img,发现图像是一个矩阵,如图1所示

a=2
O = float(a)*img#对img做出线性变换,二倍放大
O[0>255] = 255#超出255,直接转换为255
O = np.round(O)
O = O.astype(np.uint8)
cv2.imshow("img",img)#打印原图,如图2
cv2.imshow('enhance',O)#增强后的图片,如图3
cv2.waitKey(0)
cv2.destroyAllWindows()
对比图2和图3,图3图片的对比更加清晰。黑白对比更加强烈。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

WEB前端

QQ|手机版|小黑屋|金桨网|助学堂  咨询请联系站长。

GMT+8, 2024-12-22 11:33 , Processed in 0.032819 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表