将二进制图像重塑为一维矢量Python

时间:2018-05-09 07:12:10

标签: python-2.7 matlab image-processing vector cv2

我正在开发一个图像处理项目,我是Python的初学者。任何帮助将不胜感激。我正在尝试将matlab代码转换为python.Below是我的matlab代码 -

file_name='play.png';
message=double(imread(file_name));
Mm=size(message,1);                         %Height
Nm=size(message,2);                         %Width
message_vector=round(reshape(message,1200,1)./256);
disp(message_vector)

Output of matlab code

下面是python代码

water = cv2.imread('sam.png')
gray_image = cv2.cvtColor(water, cv2.COLOR_BGR2GRAY)
file_name=im2double(gray_image)
a=np.shape(gray_image)
b=a[0]*a[1]#getting resolution
images_rs = gray_image.reshape([b, 1])#reshaping array into 1D vector
print(images_rs)

Output of python

我想要输出就像我得到的matlab代码1和0.我怎么能得到它?我在python中犯了错误,因为python中的答案与Matlab不一样?

1 个答案:

答案 0 :(得分:0)

重塑后,你没有规范化python中的值。将images_rs = gray_image.reshape([b, 1])更新为images_rs = gray_image.reshape([b, 1])/256.应该可以提供您想要的内容。