2014-02-12 1 views
0

내가 GPUImageGaussianSelectiveBlurFilterGPUImageGaussianSelectiveBlurFilter 선택 영역 문제

를 사용했다가
imagePic = [[GPUImagePicture alloc] initWithImage:captureImage];// given a input in gpuimagepicture for process a image 
filter = [[GPUImageGaussianSelectiveBlurFilter alloc] init]; 
[imagePic addTarget:filter];// add a filter for image 

// create a view for set a image in that view 
imageViewGpu=[[GPUImageView alloc] initWithFrame:CGRectMake((self.view.frame.size.width-OutputImageView.frame.size.width)/2.0, (biManager.displayImageHeight-OutputImageView.frame.size.height)/2.0, OutputImageView.frame.size.width, OutputImageView.frame.size.height)]; 
imageViewGpu.userInteractionEnabled = YES; 

imageViewGpu.frame=OutputImageView.frame; 
imageViewGpu.multipleTouchEnabled= YES; 
imageViewGpu.backgroundColor = [UIColor clearColor]; 
imageViewGpu.userInteractionEnabled = YES; 
imageViewGpu.fillMode=kGPUImageFillModePreserveAspectRatio; 
[self.view addSubview:imageViewGpu]; 
[(GPUImageGaussianSelectiveBlurFilter *) filter setExcludeCircleRadius:0.3f]; 

[(GPUImageGaussianSelectiveBlurFilter *) filter setExcludeCirclePoint:CGPointMake(0,0)]; 
[filter addTarget:imageViewGpu]; 
[filter prepareForImageCapture]; 
[imagePic processImage];// get a filter apply image 

내 출력은

enter image description here

입니다하지만

enter image description here

나는이 생각이 출력을 필요로 필터가 사각형 이미지와 크게 작용합니다. 그러나 사각형 이미지와 제대로 작동하지 않습니다. 제발 도와주세요.

답변

0
if (imageViewGpu.frame.size.height>imageViewGpu.frame.size.width) { 

     [(GPUImageGaussianSelectiveBlurFilter *) filter setAspectRatio:imageViewGpu.frame.size.height/imageViewGpu.frame.size.width]; 
} 
else 
{ 

    [(GPUImageGaussianSelectiveBlurFilter *) filter setAspectRatio:imageViewGpu.frame.size.width/imageViewGpu.frame.size.height]; 

} 

0

너비가 같지만 너비가 같은 정사각형 버퍼에 이미지를 그립니다. 흐리게 처리하십시오. 더 작은 직사각형 버퍼로 다시 복사하십시오.

+0

안녕하세요 선생님을 작동하고, 나는이 대답을 이해하지 않습니다. 도와주세요. – ram

1

필터의 aspectRatio 속성을 이미지의 가로 세로 비율로 설정하십시오. 즉 스왑 너비/높이 작동하지 않는 경우

filter.aspectRatio = imagePix.size.width/imagePix.size.height 

는 :] 코드 위