최근 하는 프로젝트에서는 이전 인식기 보다 높은 화질의 사진이 필요하다.
따라서 1920*1080사이즈를 쓰지 않고 PhotoSize를 쓰는데
이 또한 800만 화소로 이미지 처리시간이 너무 긴 단점이 있다.
이 이미지 처리 시간을 줄이기 위해 Resize함수를 사용한다.
- (UIImage*)resizeImage : (UIImage*) image
{
float actualHeight = image.size.height;
float actualWidth = image.size.width;
float minWidth = 1920;
float minHeight=1080;
float resizedWidth = 2600.0;
float resizedHeight = 1950.0;
if (actualHeight*actualWidth < (minWidth* minHeight))
{
return image;
}
float imgRatio = actualWidth/actualHeight;
float maxRatio = resizedWidth/resizedHeight;
if(imgRatio < maxRatio){
imgRatio = resizedHeight / actualHeight;
actualWidth = imgRatio * actualWidth;
actualHeight = resizedHeight;
}
else{
imgRatio = resizedWidth / actualWidth;
actualHeight = imgRatio * actualHeight;
actualWidth = resizedWidth;
}
CGRect rect = CGRectMake(0.0, 0.0, actualWidth, actualHeight);
UIGraphicsBeginImageContext(rect.size);
[image drawInRect:rect];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}
'프로그래밍 > iOS' 카테고리의 다른 글
[iOS] 설정화면으로 바로 가기 (0) | 2015.10.16 |
---|---|
[iOS] 엔터프라이즈 배포 (0) | 2015.09.30 |
[iOS] UIImage를 특정 rect만큼 자르기 (0) | 2015.09.09 |
[iOS] UI 회전시키기 (0) | 2015.08.17 |
[ios] device orientation에 따라 이미지를 회전시키는 함수 (0) | 2015.08.17 |