期望的字符串或Unicode对象,照片在django中找到

时间:2017-07-26 10:09:50

标签: python django unicode

这里我想读取db中的图像并对我的图像应用一些操作,如去除噪声....最后我将appy pytesseract获取文本

def GetData(request):

    img = Photo.objects.get(id=1)
    #wrapper = FileWrapper(open(img.file))


    # Read image with opencv
    img = cv2.imread(img)
    # Apply dilation and erosion to remove some noise

    kernel = np.ones((1, 1), np.uint8)
    img = cv2.dilate(img, kernel, iterations=1)
    img = cv2.erode(img, kernel, iterations=1)

    b,g,r = cv2.split(img)
    # get b,g,r
    rgb_img = cv2.merge([r,g,b])
    # switch it to rgb
    # Denoising
    dst = cv2.fastNlMeansDenoisingColored(img,None,10,10,7,21)
    img = cv2.cvtColor(dst, cv2.COLOR_BGR2GRAY)
    # Apply threshold to get image with only black and white
    img = cv2.adaptiveThreshold(img, 127, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11,2)
    new_image = cv2.blur(img, (1, 1))

1 个答案:

答案 0 :(得分:2)

错误来自cv2.imread(img),因为imread会将stringunicode参数与图片的URI一起使用,但您使用的是Django模型这个课程完全不同。

假设您的Photo班级模型有一个名为ImageField的{​​{1}}字段,您可以解决问题的变化

image

类似

img = cv2.imread(img)