Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TypeError:传递给numpy.ndarray.\uu格式的格式字符串不受支持___Python_Python 3.x_Numpy_Opencv - Fatal编程技术网

Python TypeError:传递给numpy.ndarray.\uu格式的格式字符串不受支持__

Python TypeError:传递给numpy.ndarray.\uu格式的格式字符串不受支持__,python,python-3.x,numpy,opencv,Python,Python 3.x,Numpy,Opencv,我试图将数据转换为字符串“”的二进制格式,但当我将图像提供给函数时,出现了错误- TypeError:传递给numpy.ndarray的格式字符串不受支持。格式 这是我的密码:- import cv2 import numpy as np import os def to_bin(data): """Convert `data` to binary format as string""" if isinstance(

我试图将
数据
转换为字符串“”的二进制格式,但当我将图像提供给函数时,出现了错误-

TypeError:传递给numpy.ndarray的格式字符串不受支持。格式

这是我的密码:-

import cv2
import numpy as np
import os


def to_bin(data):
    """Convert `data` to binary format as string"""
    if isinstance(data, str):
        return ''.join([ format(ord(i), "08b") for i in data ])
    elif isinstance(data, bytes) or isinstance(data, np.ndarray):
        return [ format(i, "08b") for i in data ]
    elif isinstance(data, int) or isinstance(data, np.uint8):
        return format(data, "08b")
    else:
        raise TypeError("Type not supported.")

image = cv2.imread("google.png")

print(to_bin(image))



您是否采取了添加
print(类型(数据))的明显步骤
在函数顶部?是的,让我们退一步。这里的真正目标是什么?你不能真的希望将整个图像转换为一个巨大的0和1字符串。那将是毫无意义的。我正在尝试更改LSBSo,用于隐写术?你当然不想将像素转换为二进制字符字符串。要设置LSB,您可以执行
x=x | 1
,要清除它,您可以执行
x=x&254