image blur
来源:互联网 发布:软件系统工程师学费 编辑:程序博客网 时间:2024/05/08 22:43
/// image blur
need Accelerate.framework in your progect
and import <Accelerate/Accelerate.h> in the file
- (UIImage *)blurryImage:(UIImage *)image withBlurLevel:(CGFloat)blur {
if ((blur <0.0f) || (blur >1.0f)) {
blur =0.5f;
}
int boxSize = (int)(blur *100);
boxSize -= (boxSize %2) +1;
CGImageRef img = image.CGImage;
vImage_Buffer inBuffer, outBuffer;
vImage_Error error;
void *pixelBuffer;
CGDataProviderRef inProvider =CGImageGetDataProvider(img);
CFDataRef inBitmapData =CGDataProviderCopyData(inProvider);
inBuffer.width =CGImageGetWidth(img);
inBuffer.height =CGImageGetHeight(img);
inBuffer.rowBytes =CGImageGetBytesPerRow(img);
inBuffer.data = (void*)CFDataGetBytePtr(inBitmapData);
pixelBuffer = malloc(CGImageGetBytesPerRow(img) *CGImageGetHeight(img));
outBuffer.data = pixelBuffer;
outBuffer.width =CGImageGetWidth(img);
outBuffer.height =CGImageGetHeight(img);
outBuffer.rowBytes =CGImageGetBytesPerRow(img);
error =vImageBoxConvolve_ARGB8888(&inBuffer, &outBuffer,NULL,
0,0, boxSize, boxSize,NULL,
kvImageEdgeExtend);
if (error) {
NSLog(@"error from convolution %ld", error);
}
CGColorSpaceRef colorSpace =CGColorSpaceCreateDeviceRGB();
CGContextRef ctx =CGBitmapContextCreate(
outBuffer.data,
outBuffer.width,
outBuffer.height,
8,
outBuffer.rowBytes,
colorSpace,
CGImageGetBitmapInfo(image.CGImage));
CGImageRef imageRef =CGBitmapContextCreateImage (ctx);
UIImage *returnImage = [UIImageimageWithCGImage:imageRef];
//clean up
CGContextRelease(ctx);
CGColorSpaceRelease(colorSpace);
free(pixelBuffer);
CFRelease(inBitmapData);
CGColorSpaceRelease(colorSpace);
CGImageRelease(imageRef);
return returnImage;
}
- image blur
- Image Gauss blur
- Image-rotate-brightness-blur
- Image Blur Classification and Parameter(泛读)
- Image Effect之Blur(飞车模糊)
- blur
- blur
- blur
- Unity3D图像后处理特效——Blur image effect
- Unity3D图像后处理特效——Blur image effect
- Image Blur Detection via Hough Transform — IV
- Simple way to check if an image bitmap is blur
- 【Android】图片模糊效果,Blur image with glide or picasso
- [ASIFT 4] Gaussian in the ASIFT-----------Blur image
- 3-D Shape Estimation and Image Restoration: Exploiting Defocus and Motion-Blur
- Unity3D图像后处理特效——Motion Blur image effect
- Unity3D图像后处理特效——Motion Blur image effect
- iOS 处理图片 高斯模糊 image图片 blur模糊度
- 查看sqlserver服务器 硬盘剩余空间
- sublime license
- Oracle PeopleSoft Feed Publishing Framework
- Codeforces Round #277 (Div. 2) D 计数问题,划分等价类
- C++primer(第五版)第四章表达式学习笔记(含习题c++源代码和C++11特性)
- image blur
- LA 2659 && poj 3076 && zoj 3122 Sudoku(精确覆盖 + DLX)
- 3D重构基础七--structure and motion
- Red Hat下 关于apache 的操作权限
- 创建链表指针问题
- C语言第三回合:数据类们的PK
- 基本arm210开发板智能家居项目展示
- 数据结构 第五章 树和二叉树
- js获取当前时间戳