我想将从相机拍摄的图像分辨率更改为 320x320。谁能告诉我该怎么做。
我知道如何从相机拍摄图像。所以请告诉我剩下的(即)改变图像的分辨率。
提前致谢
我想将从相机拍摄的图像分辨率更改为 320x320。谁能告诉我该怎么做。
我知道如何从相机拍摄图像。所以请告诉我剩下的(即)改变图像的分辨率。
提前致谢
这在这篇文章中被称为:https ://stackoverflow.com/a/613380/1648976
+ (UIImage*)imageWithImage:(UIImage*)image
scaledToSize:(CGSize)newSize;
{
UIGraphicsBeginImageContext( newSize );
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
就图像的存储而言,iPhone 使用最快的图像格式是 PNG,因为它对该格式进行了优化。但是,如果您想将这些图像存储为 JPEG,您可以使用 UIImage 并执行以下操作:
NSData *dataForJPEGFile = UIImageJPEGRepresentation(theImage, 0.6);
这将创建一个 NSData 实例,其中包含质量设置为 60% 的 JPEG 图像的原始字节。然后可以将该 NSData 实例的内容写入磁盘或缓存在内存中。
这会进行转换,而不是完全转换为 320*320.. 但您可以将 0.6 调整为更低或更高。
如果这不是您想要的,请更准确地告诉我
1) 对原始图像进行低通滤波和
2) 抽取或
3) 重新采样
如果原始尺寸为 640x320,则进行 LP 过滤然后选择每隔一个样本就足够了。那是抽取。
如果原始尺寸是例如 480x320,那么仍然必须为那些与原始像素不完全对齐的像素进行 LP 过滤和内插像素值。
LP 过滤至关重要,因为没有它,例如非常高分辨率的棋盘图案将被重新采样为噪声或奇怪的图案,这是由称为“频率混叠”的效果引起的。