문제는 png,jpg,etc 픽셀 유형이 다름 니다. 예를들어 pngsms uint8이라는 것입니다.
*img_as_bool을 적용하면 부울 배열이 생깁니다.
canny를 사용함으로써 방향성 즉, 유형이 불일치가 발생합니다.
그리고 이러한 유형의 불일치는 오류를 생성합니다. uint8로 변환해야합니다. Alex가 img_as_uint 함수를 사용하는 것이 좋습니다.
from skimage import io
from skimage import feature
from skimage import color
img = io.imread("chapter02/image.jpg")
img = color.rgb2gray(img)
edge = feature.canny(img,3)
io.imshow(edge)
io.imsave("canny_edge.jpg", edge)
io.show()
추가
from skimage import *
io.imsave("canny_edge.jpg", img_as_uint(edge))
수정
from skimage import *
from skimage import io
from skimage import feature
from skimage import color
img = io.imread("chapter02/image.jpg")
img = color.rgb2gray(img)
edge = feature.canny(img,3)
io.imshow(edge)
#io.imsave("canny_edge.jpg", edge)
io.imsave("canny_edge.jpg", img_as_uint(edge))
io.show()
https://stackoverflow.com/questions/57321107/valueerror-image-is-not-numeric-but-ndarray
'Computer > OpenCV' 카테고리의 다른 글
두개의 이미지를 비교 (0) | 2019.12.25 |
---|---|
[Opencv] 이미지 필터_도형 검출(선) (0) | 2019.12.16 |
[Opencv] 이미지 필터_가우시안필터 (0) | 2019.12.16 |
[OpenCV] 합성곱 (0) | 2019.12.14 |
[Scikit-image] 색상 모듈, 그리기 모듈 (0) | 2019.12.13 |