2
를 추출하여 자신의 영역 내에있는 에지 내부 현재 난이 같은 scipy 소벨 필터를 적용하고 :scipy 소벨 에지 검출, 외부 화소 밖에 화소를 추출하려고
im = scipy.misc.imread(filename)
im = im.astype('int32')
dx = ndimage.sobel(im, axis=0)
dy = ndimage.sobel(im, axis=1)
mag = np.hypot(dx, dy)
mag *= 255.0/np.max(mag)
scipy.misc.imsave('sobel.jpg', mag)
을 현재 결과는 :
:아이디어는, 예를 들어, 외부 에지 검출 화소를 얻기 위해 이러한 영역이며
어떻게 sobel 필터 바깥 쪽과 안쪽에있는 영역의 배열을 추출 할 수 있습니까?
* 외부 *와 * 내부 *를 정의해야합니다. 시각적으로 당신이 추출하고자하는 것을 (사람) 알기 때문에 꽤 단순 해 보일 수도 있지만 이미지는 컴퓨터에 대한 숫자 배열이며 더 높은 수준의 연결에 대해서는 알지 못합니다. 그래서, 그 구체적인 예를 들어, 당신은 행과 행운을 버릴 수있을 때까지 왼쪽과 오른쪽에서 피크 픽셀을 선택합니다. 그러나 일반적인 방법을 원한다면 생각만큼 간단하지는 않으며 sobel 필터에 대한 몇 가지 * 마술 *처럼 간단하지는 않습니다. https://xkcd.com/1425/ –
의 예 이미지가 단순하고 쉬운 경우 [opencv] (http://docs.opencv.org/2.4/doc/tutorials/imgproc)에서 등고선을 사용해보십시오. /shapedescriptors/find_contours/find_contours.html) 또는 [scikit-image] (http://scikit-image.org/docs/dev/auto_examples/plot_contours.html) –
이미지 "분할"문제를 해결하려고합니다. 일반적으로 매우 어려운 문제이며 오랜 기간 동안 매우 활발한 연구 분야였습니다. 그러나 이미지의 배경이 매우 단순하므로 (흰 벽), 아마도 간단한 방법이 효과가있을 수 있습니다. 좋은 이미지 분할 코드를 온라인으로 찾는 것이 가장 쉽습니다. – littleO