Ios 如何将图像分割成多个部分进行图像处理,然后重新组合?

Ios 如何将图像分割成多个部分进行图像处理,然后重新组合?,ios,iphone,xcode,image-processing,partitioning,Ios,Iphone,Xcode,Image Processing,Partitioning,我正在使用Core Image和GPUImage在iPhone应用程序中制作一些过滤器。我的内存似乎快用完了,我的大图像也快崩溃了。我认为如果我能将输入图像分割成多个部分,这个问题就可以解决 如何有效地将图像分割为多个部分进行图像处理,然后重新组合以在iOS中整体输出结果图像?-(void)getMultipleImages:(UIImage*)image and NumberOfPart:(NSInteger)Matrix Size{ -(void)getMultipleImages:(UII

我正在使用Core Image和GPUImage在iPhone应用程序中制作一些过滤器。我的内存似乎快用完了,我的大图像也快崩溃了。我认为如果我能将输入图像分割成多个部分,这个问题就可以解决

如何有效地将图像分割为多个部分进行图像处理,然后重新组合以在iOS中整体输出结果图像?

-(void)getMultipleImages:(UIImage*)image and NumberOfPart:(NSInteger)Matrix Size{
-(void)getMultipleImages:(UIImage*)image AndNumberOfPart:(NSInteger)matrixSize{



CGSize size = image.size;

//for storing rect values of puzzle boxess
NSMutableArray *puzzleRectArr = [[NSMutableArray alloc]init];
NSMutableArray *puzzleCroppedObj = [[NSMutableArray alloc]init];

int widthD = size.width;
int heightD = size.height;

float boxWidth = widthD/matrixSize;
float boxHeight = heightD/matrixSize;


for (int i = 0; i < matrixSize*matrixSize; i++) {

    int x = (widthD/matrixSize)/2 + (widthD/matrixSize) *(i%matrixSize)-boxWidth/2;
    int y = (heightD/matrixSize)/2 + (heightD/matrixSize)* (i/matrixSize)-boxHeight/2;


    CGRect rect = CGRectMake(x, y, boxWidth, boxHeight);
    [puzzleRectArr addObject:[NSValue valueWithCGRect:rect]];

    CGImageRef imageRef = CGImageCreateWithImageInRect([self.imgActual CGImage], rect);
    UIImage *croppedImage = [UIImage imageWithCGImage:imageRef];
//----------------------------------------------------------------------        
    //here You can find the part image
    [puzzleCroppedObj addObject:croppedImage];

//----------------------------------------------------------------------                


     CGImageRelease(imageRef);
}
}
CGSize size=image.size; //用于存储拼图框的rect值 NSMutableArray*puzzleRectArr=[[NSMutableArray alloc]init]; NSMutableArray*PuzzleCroppeDBJ=[[NSMutableArray alloc]init]; int widthD=size.width; int heightD=尺寸。高度; float-boxWidth=widthD/矩阵大小; 浮箱高度=高度/矩阵大小; 对于(int i=0;i
-(void)获取多个图像:(UIImage*)图像和零件编号:(NSInteger)矩阵大小{
CGSize size=image.size;
//用于存储拼图框的rect值
NSMutableArray*puzzleRectArr=[[NSMutableArray alloc]init];
NSMutableArray*PuzzleCroppeDBJ=[[NSMutableArray alloc]init];
int widthD=size.width;
int heightD=尺寸。高度;
float-boxWidth=widthD/矩阵大小;
浮箱高度=高度/矩阵大小;
对于(int i=0;i
出于好奇,您是否尝试过我提交给存储库的最新代码?我对框架中的内存使用做了一些改进,这可能有助于避免在处理大型图像时崩溃。还有很多事情要做,但这可能会有所帮助。不,我会试试的。谢谢你,布拉德!!出于好奇,您是否尝试过我提交给存储库的最新代码?我对框架中的内存使用做了一些改进,这可能有助于避免在处理大型图像时崩溃。还有很多事情要做,但这可能会有所帮助。不,我会试试的。谢谢你,布拉德!!