2012-10-22 4 views
4

나는 낭포에서 확대 할 때 스마트 .I이 있지만 소음과 pixelating의 많은 실제로 내 이미지를 선명하게 방법을 찾을 수 python 또는 ndimage 같은 모든 관련 이미지 라이브러리, skimage 또는 PIL를 사용에게 이미지를 선명하게하는 방법 궁금 나는 Photoshop을 알고 있기 때문에 이미지를 선명하게하는 영리한 선명 효과를 얻으려고 노력했지만 파이썬을 통해 멋진 감미료를 사용했지만 실패했습니다.파이썬으로 내 이미지에 "선명하게"효과를 적용하려면 어떻게해야합니까?

참고 : -
(1) 방법이 테스트되었습니다 : -

>>> # The 1st Method: 
>>> import Image     
>>> import ImageFilter 
>>> image.filter(ImageFilter.SHARPEN)    
>>> Image.filter(ImageFilter.EDGE_ENHANCE_MORE) #Look down:1st image created 

>>> # The 2nd Method: 
>>> blurred_l=scipy.ndimage.gaussian_filter(b,3) 
>>> filter_blurred_l = scipy.ndimage.gaussian_filter(blurred_l, 1) 
>>> alpha =30 
>>> sharpened = blurred_l + alpha * (blurred_l - filter_blurred_l) 

>>> # The 3rd Method: 
>>> shar=imfilter(Image,'sharpen')    #Look down:2nd image created 

(2) 코드의 조각을 발견하지만 Perl에 있습니다. 난 단지 smartsharp 함께 할 세 번째 위의 방법을 사용하여 PythonIn here 또는 날카롭게 이미지의 (3) 다음은 2 directly을 알고
원래
Original image http://imageshack.us/a/img600/6640/babyil.jpg
먼저 ............ .................................................. ...... 제
1st http://imageshack.us/a/img803/3897/sharp1.png2nd http://imageshack.us/a/img809/2235/sharp2.png
제 MY 목표> 그 효과는 I
원하는이다 3rd http://imageshack.us/a/img832/4563/smartsharp.jpg
(4) 여기서 I는 세번째 이미지를 만드는 데 사용되는 도구는 위 : 불행하게도
smrsharpm http://imageshack.us/a/img210/2747/smartsharpentoolm.jpgsmrsharp http://imageshack.us/a/img193/490/smartsharpentool.jpg

답변

4

, 그것은 "스마트 선명는"포토샵 코드에 액세스하지 않고 무엇을 알고 어렵다. 그 동안, 당신은 unsharpen 마스크, 전체 변화 필터링 및 일부 색상 조정 (아마도 약간의 색조 향상)을 혼합하려고 할 수 있습니다.

참조 : http://www.kenrockwell.com/tech/photoshop/sharpening.htm#

업데이트 : 여기에는 화상으로부터 모션 블러를 제거하는 방법의 예이다 :

https://github.com/stefanv/scikit-image-demos/blob/master/clock_deblur.py

(시계 화상이 동일한 저장소에). 불행히도 scikit 이미지에는 현재 블러 링/인버스 필터링이 성숙하지 않지만 우리는 이에 대해 연구 중입니다!

+0

하지만 좋은 소식은'Perl'이 내 게시물에 첨부 된 코드를 내 '사랑스런'파이썬'으로 수정할 수 있다는 것을 아는 사람은 누구나 있습니다. 그건 그렇고 scikit - 이미지 프로젝트 주셔서 감사합니다. –

+0

오직 즐거움! 위의 Perl 코드에 액세스 할 수 없습니다. 링크를 확인 하시겠습니까? –

+0

나는'scikit-image'에서'Wiener-filter'를 사용하려고했으나 오류가 발생했습니다 ** Impulse 응답은 호출 가능 **해야합니다 (i.e 임펄스 응답 매개 변수를 사용하여 wiener -filter를 수행하는 방법을 모르겠습니다.) 이전 기사가 훌륭하지만 코드가 'MatLab'에 있고 ** fspecial() ** 함수가 무엇을하는지 알아 내려고했지만 실패했습니다. 도움을 줄 수있는 것 같습니다. 업데이트 할 수 있습니다. 당신의 대답은'skimage.filter.wiener()'를 사용하여 스마트 선명하게하는 방법을 보여줍니다. 인내심에 감사드립니다. –

4

Photoshop의 "스마트 선명 화"기능은 내부적으로 deconvolution이라는 수학 연산을 사용합니다. numpy에는 deconvolve() 기능이있어이 작업을 위해 서비스 될 수는 있지만 numpy으로 스마트하게 선명하게 작업 할 수있는 기성 함수를 찾을 수 없으므로 직접 코딩해야합니다.

다른 방법은 김프를 사용하는 것입니다. GIMP 플러그인 (직관적으로 "G'Mic"이라고 함)은 다른 선명 화 알고리즘 중에서 디콘 볼 루션을 수행하며 Python을 사용하여 김프를 자동화 할 수 있습니다.

+0

감사합니다. 귀하가 제공하는 정보를 Google에 알려 드리겠습니다. –

+1

우리는 표준 위너 필터를 scikit 이미지로 구현 했으므로 가우시안 커널을 생성하고 그 역함수를 적용 할 수 있습니다 (이 프로세스를 데콘 보레이트라고 함). 또한 참조하십시오 : http://yuzhikov.com/articles/BlurredImagesRestoration1.htm 블라인드 디콘 볼 루션 (deonvolution)은 최적의 디 블러 커널을 추정하려고 시도하지만이 과정은 매우 민감 할 수 있습니다. –

+0

@StefanvanderWalt 링크를 다시 게시했습니다. 이제 위니 너 필터를 사용해 보겠습니다. Scikit 이미지를 통해 작업을 수행하고 싶거나 Ndimage 일 수 있습니다. 감사합니다. –

관련 문제