1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > opencv把图片转换成二进制_如何增强图像 然后使用Python和OpenCV将其转换为二进制图像?...

opencv把图片转换成二进制_如何增强图像 然后使用Python和OpenCV将其转换为二进制图像?...

时间:2024-06-10 04:35:24

相关推荐

opencv把图片转换成二进制_如何增强图像 然后使用Python和OpenCV将其转换为二进制图像?...

我创建了一个简单的例子来说明我要做的事情:#!/usr/bin/python

#---------------------------------------------------------------------

# imports

# >>> cv2.__version__

# '2.4.6.1'

# >>> scipy.__version__

# '0.12.0'

#---------------------------------------------------------------------

import cv2

from scipy.signal import wiener

#---------------------------------------------------------------------

# functions

#---------------------------------------------------------------------

def enhance_image(input_image):

my_im = input_image.copy()

my_im = wiener(my_im)

return my_im

#---------------------------------------------------------------------

# Main

#---------------------------------------------------------------------

filename="./data/5bd0-7939-48a6-94eb-045495b85343.png"

im=cv2.imread(filename)

cv2.imshow('Original',im)

gray_im = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)

cv2.imshow('Gray',gray_im)

enhanced_im=enhance_image(gray_im)

cv2.imshow('Enhanced',enhanced_im)

# this fails

(thresh, bw_im) = cv2.threshold(enhanced_im, 128, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)

cv2.imshow('Black and White',bw_im)

key = cv2.waitKey()

代码加载一个图像,将其转换为灰度,使用scipy.signal模块运行wiener算法来增强图像,之后我想将图像转换为二值图像(黑白)。当我运行上面的代码时,我得到以下错误:OpenCV Error: Assertion failed (src.type() == CV_8UC1) in threshold, file /home/mrichey/Downloads/opencv2.4/opencv-2.4.6.1/modules/imgproc/src/thresh.cpp, line 719

Traceback (most recent call last):

File "./simple_example.py", line 37, in

(thresh, bw_im) = cv2.threshold(enhanced_im, 128, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)

cv2.error: /home/mrichey/Downloads/opencv2.4/opencv->2.4.6.1/modules/imgproc/src/thresh.cpp:719: error: (-215) src.type() == CV_8UC1 in function threshold

我对这个错误的研究使我相信传递给threshold函数的图像类型是错误的,但我不知道它需要转换成什么,也不知道如何进行转换。在

当我把gray_im传入threshold时,它工作正常。我注意到gray_im都是整数,但是enhanced_im有浮点值,所以我尝试修改我的enhance_image函数:

^{pr2}$

然而,我也犯了同样的错误。在

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。