gpt4 book ai didi

python - 将图像(png)转换为矩阵,对其进行归一化,反之亦然

转载 作者:行者123 更新时间:2023-12-02 17:53:02 25 4
gpt4 key购买 nike

我开始搞乱图像处理,我想制作一个图像矩阵, vector (一维数组)并将它们再次反转为图像,这是代码(取自openCV的示例),此外,我将如何进行标准化一维数组?我将这个阵列标准化后会发生什么,我可以在标准化后使其成像?

import cv2.cv as cv
import numpy
img=cv.LoadImage("test3.JPG")
mat=cv.GetMat(img)
a = numpy.asarray(mat)
print a

输出为:
 [[[150 150 150]
[171 171 171]
[242 242 242]
...,
[252 252 252]
[252 252 252]
[252 252 252]]

[[151 151 151]
[170 170 170]
[244 244 244]
...,
[252 252 252]
[252 252 252]
[252 252 252]]

[[159 159 159]
[172 172 172]
[248 248 248]
...,
[252 252 252]
[252 252 252]
[252 252 252]]

...,
[[251 251 251]
[251 251 251]
[251 251 251]
...,
[249 249 249]
[248 248 248]
[248 248 248]]

三个点的含义是什么,它不打印所有值?这个特定的图像是125X150

谢谢。

编辑
import cv2.cv as cv
import numpy
import Image
def normalize(arr):
for i in range(3):
minval = arr[...,i].min()
maxval = arr[...,i].max()

if minval != maxval:
arr[...,i] -= minval
arr[...,i] *= (255.0/(maxval-minval))
return arr


img=cv.LoadImage("test3.JPG")
mat=cv.GetMat(img)
a = numpy.asarray(mat)
b = normalize(a)

print b


with open('1.txt.',"w") as f:
f.write("\n".join(" ".join(map(str, x)) for x in (b)))


im = Image.fromarray(b)
im.save("12.jpeg")

最佳答案

def normalize(arr):
"""
Linear normalization
http://en.wikipedia.org/wiki/Normalization_%28image_processing%29
"""
# Do not touch the alpha channel
for i in range(3):
minval = arr[...,i].min()
maxval = arr[...,i].max()
if minval != maxval:
arr[...,i] -= minval
arr[...,i] *= (255.0/(maxval-minval))
return arr
import numpy as np
import Image

def normalize(arr):
for i in range(3):
minval = arr[..., i].min()
maxval = arr[..., i].max()

if minval != maxval:
arr[..., i] -= minval
arr[..., i] *= (255.0 / (maxval - minval))
return arr

img = Image.open('orig.jpg').convert('RGBA')
a = np.array(img)
b = normalize(a)

im = Image.fromarray(b)
im.save('output.jpg')
orig.jpg:

运行脚本会产生 output.jpg:

关于python - 将图像(png)转换为矩阵,对其进行归一化,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15465272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com