数字图像处理-图像的计算
发布日期:2021-05-07 23:34:44 浏览次数:18 分类:精选文章

本文共 2103 字,大约阅读时间需要 7 分钟。

??Numpy???????????????

?????????

1. ??????

???????????????????????????????????????????????????????????????Gn = c * G0 + a???G0????????????????Gn?????????

?????

- ?c < 1???????????????????????????? - ?c = 1???????a??? - a > 0????????? - a < 0????????? - a = 0?????????

??????

?????Numpy??????????????

import numpy as np
from PIL import Image
def loadImage(file_path):
"""????????????"""
return np.array(Image.open(file_path).convert('L'))
def saveImage(file_path, img):
"""????????BMP??"""
im = Image.fromarray(img).convert('L')
im.save(file_path)
def transform(img, c=1, a=0):
"""??????"""
gNew = np.zeros(img.shape, dtype=img.dtype)
w, h = img.shape
for i in range(w):
for j in range(h):
gNew[i][j] = min(int(c * img[i][j] + a), 255)
return gNew
def transform1(img, c=2.42, a=0):
"""???????"""
dst = np.zeros_like(img).astype(np.float32)
dst = c * img.astype(np.float32) + a
dst = np.clip(dst, 0, 255).astype(img.dtype)
return dst
# ??????
img = loadImage('test.png')
plt.imshow(img, cmap='gray')
# ????
imgNew = transform1(img, 2.42, 0)
# ????
plt.imshow(imgNew, cmap='gray')
saveImage('out-A.bmp', imgNew)

??????

?????????

?????????

- c=0.24?a=0?????????????? - c=1?a=140???????????????????? - c=0.54?a=0???????????????? - c=1?a=-50??????????????

?????????

??????????????????????????????????????????????????????????????????:

  • S?????
  • ?????
  • ?????

????????????????

- ??????????? - ???????????? - ?????????????

??????????????????????????????????????????????

def nonLinearTransform(img, power=0.5, contrast=2.0):
"""???????"""
# ??S?????????
gray = img.astype(np.float32)
max_val = np.max(gray)
min_val = np.min(gray)
# ??S?????
slope = (max_val - min_val) / (power + 1)
scale = (max_val - min_val) / (max_val - min_val)
# ??S?????
gray = gray * slope + min_val
# ???????
gray = (gray * contrast) / 255
# ????0-255???
gray = np.clip(gray, 0, 255).astype(img.dtype)
return gray

????????????????????????????????power????????????????contrast????????????

上一篇:C++ 后端开发工程师的技术栈整理
下一篇:Disjoint Union Set 并查集

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年05月04日 08时23分23秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

2025版最新Nessus 工具介绍与使用教程,零基础入门到精通,收藏这一篇就够了 2025-03-30
2025版最新wireshark怎么抓包?Wireshark入门指南,零基础入门到精通,收藏这篇就够了 2025-03-30
2025版最新一文彻底搞懂大模型 - Agent(非常详细)零基础入门到精通,收藏这篇就够了 2025-03-30
2025版最新关于HW护网行动的一些知识,零基础入门到精通,收藏这篇就够了 2025-03-30
(建议收藏)2024最新 URL Scheme大全APP跳转界面地址更新中 ios快捷指令快捷方式链接跳转微信小程序必备autojs可用免root (可定制开发和提取URL Scheme 参数提取) 2025-03-30
2025版最新大模型学习路线,零基础入门到精通,收藏这篇就够了 2025-03-30
2025版最新大模型开发流程(非常详细)零基础入门到精通,收藏这一篇就够了 2025-03-30
(干货)数据分析案例--以上海二手房为例 2025-03-30
(大部分安卓手机通用)一加OnePlus Ace3扬声器优化教程 外放直接媲美苹果 2025-03-30
2025版最新大模型微调方法(非常详细)零基础入门到精通,收藏这篇就够了 2025-03-30
2025版最新大模型算法岗位薪资指南,零基础入门到精通,收藏这一篇就够了 2025-03-30
2025版最新大语言模型的指令微调,零基础入门到精通,收藏这篇就够了 2025-03-30
2025版最新小白学习大模型:什么是大模型?零基础入门到精通,收藏这篇就够了 2025-03-30
2025版最新常用黑客工具之【Nmap 教程基础】零基础入门到精通,收藏这篇就够了 2025-03-30
2025版最新开发一款大模型需要经过哪些步骤?开发一款大模型的完整流程,收藏这篇就够了 2025-03-30
$.inArray函数判断数组中的是否包含字符串 2025-03-30
2025版最新渗透测试和黑客工具列表,零基础入门到精通,收藏这一篇就够了 2025-03-30
2025版最新网络安全入门书籍整理大全,零基础入门到精通,收藏这篇就够了 2025-03-30
2025版最新网络安全知识入门及学习流程(非常详细)零基础入门到精通,收藏这篇就够了 2025-03-30
2025版最新网络安全等级保护测评指南,零基础入门到精通,收藏这篇就够了 2025-03-30