I'm trying to figure out how to do this programatically, but despite all of my Googling I cannot figure out how this is down.
The lens blur is different than the Gaussian blur which looks very computer generated.
Thanks for the help!
I found an interesting blog post on the subject. I haven't read through the whole thing, but it seems quite descriptive and might be of some help.
You don't state what language you're after, but Java can do a lot of image processing, check out this link:
jhlabs blurring examples
It even includes the lens blur effect you are after.
Related
Please consider a sample image shown below
The cave paintings are vaguely seen here. Can you please suggest a probable image processing technique I can use here to extractthe regions of the painting?
I tried OTSU threshold, as it is a type of adaptive threshold, but it did not work. Something as simple as color segmentation can be looked into. Apart from that, any pointers please?
You can use decorrelation stretching for this. Take a look at this. You'll find pre-processing techniques they are using in combination with decorrelation stretching to segment rock paintings. Here in my blog post you'll find an implementation of decorrelation stretching using OpenCV.
I need a way to transform image containing human into a image containing only body sihlouette in one color. First i took a look at Canny edge detector (OpenCV implementation), but this may lead to problems with background of the image.
I`ve tried with GrabCut OpenCV implementation. This works fine in most of cases, bit it have extremely bad time performance, example for 480x320 image it takes up to 1 minute to process. Also the problem with grabcut is that user need to make interaction and to set the background area and user area, which in my case is not allowed.
So, maybe you can give me ideas about some another approach using something different than GrabCut, or suggest me how to enhance GrabBut time performance(Maybe gpu implementation). Also i need a suggestion about algorithm that will locate human body, and help grabcut algorithm with positioning of body/background area.
Example:
can suggest two things to investigate which may help:
1) CIDetector class
2) OpenCV library for iOS. This project doesn't look active, but you can find some forks or related projects here.
Downscale the image by half the resolution (use pyrDown()), run GrabCut, use contour detection to vectorize the cut out, and upscale as necessary.
OpenCV would be a good option for something like that. You can get a pre-built library for ios on the official site:
http://opencv.org/
And there is also a Tutorial-App using OpenCV, that may have a similar ability to what you're looking for:
http://computer-vision-talks.com/
You can use Canny's edge detection for this.
http://iosgpuar.blogspot.com/2011/12/canny-edge-detection-using-fragment.html
I want to achieve coloring picture effect on the photo and asking for help with computer vision techniques as I am newbie in this area. I started out with bilaterial filter and min filter. But I am stucked what to do next. I use opencv with python for prototyping. Is there any patterns that might help me to achieve this? Appreciate your help and time.
One of the possible solutions:
Convert image to grayscale
Apply Canny edge detector or Sobel filter
Hope it helps.
What you are looking for is called "Non-photorealistic rendering". In its simplest form, it is what Astor suggested you. But there are many studies in this field, starting with automatic creation of sketches to complex cartoon-like effects and more.
Here is a paper on this topic, and another one here, but you can find more by googling "Non photorealistic rendering"
first my final goal is to process the following image with tesseract:
http://ubuntuone.com/72m0ujsL9RhgfMIlugRDWP
(I wiped out the second and the third column...)
However tesseract has problems with the dotted background. So my idea is to pre-process the image with OpenCV. The best would be if I could somehow detect each line, because I need to remove the dotted background by applying a different threshold than to even lines. Is there any solution to solve my problem? So far I have found Hough Transformation and maybe segmentation, but the results weren't very good (maybe because of wrong parameter)... But I'm not sure, if these are possible approaches and what I invest my time best on.
Column detection would be fine, too, because the second column contains numbers and the third characters, only. Passing this "knowledge" to tesseract could improve its detection rate even more.
I would be really thankful if somebody could give me some hints how to solve this issue and which OpenCV functions are used best, with which paremeters. Some snippets that give me a fair idea about the different steps would be helpful, too.
Thank in advance!!!
Kind regards.
I would suggest you use something like erosion, as the dots seem to be rather small as compared to the width of the letters.
OR I would Canny edge detection with proper thresholds so that I would discard the rather short and thin edges of the dots.
Hope this helps, have fun!
So I'm using openCV to do square recognition on this image. I compiled the squares.c file on an image that I took and here are the results:
http://www.learntobe.org/urs/index1.php
The image on the left is the original and on the right is the image that is a result of running the square detection.
The results aren't bad, but I really need this to detect ALL of the squares and I'm really new to this openCV and image processing stuff. Does anyone know of how I can edit the squares.c file to possibly get the detection to be more inclusive so that all of the squares are highlighted?
Thanks a lot ahead of time.
All the whitish colors are tough to detect. Nothing separates it from the page itself. Try doing some kind of edge detection (check cvCanny or cvSobel).
You should also "pre-process" the image. That is, increase the contrast, make the colors more saturated, etc.
Also check this article http://www.aishack.in/2010/01/an-introduction-to-contours/ It talks about how the squares.c sample works. Then you'll understand a bit about how to improves the detection in your case.
Hope this helps!