I'm a relative newbie when it concerns image analysis. My PhD advisor introduced a question regarding calculating the surface area of the forearm of pain patients who cannot stand even the lightest touch on their skin.
Therefore, I'd like to find out is whether or not the following is feasible:
My idea is mounting a small video camera unto a pod which is placed on a circular rail (like that of a toy train) far enough from the forearm so it can capture its whole length.
The participant will then place their forearm in the middle of this "capturing circle", and the camera will be circled to capture a 360 view of the forearm.
The video will be then fed into ImageJ/Fiji for pre-processing, eventually to be rendered as a 3D-object which surface and volume can be calculated and further used for analysis.
I'd appreciate your expert opinions on this, and any help/recommendation will be welcome.
Thanks for your attention.
Related
I have a problem and a solution but i wonder whether my answer is true or not or where did i do wrong thanks for your help-->Question is that-->
A professor of archeology doing research on currency exchange practices became aware that
four Roman coins crucial to his research are listed in the holdings of a museum. Unfortunately,
he learned that the coins had been recently stolen. Good thing on his part is that the museum
keeps photographs of every item in their holdings. Unfortunately, the photos of the coins he is
interested in are blurred to the point where the date and other markings are not readable. The
original camera used to take the photographs is available, as well as other representative coins
from the same era.
You are hired to as an image processing consultant to help the professor to determine whether
computer processing can be utilized to process the images to the point where the professor can
read markings.
Propose a step by step solution to this problem.
Than my solution-->
Firstly, from the coins and cameras that i have
setting that causes blurred photo to occur
and select a start method accordingly.After using the deconvolution method to get rid of the blur, I use a high pass filter to reveal the perimeter of the coin or use tresholding method so that I can reveal the shape of the money.In 2D photography, it is easy to see where the coin is and what pixelles I have to trade.So for example, instead of applying a whole process to the image,
I have been working on the pixeller that has been determined.Then the place where you have the necessary information from the coin I take the gradient in the x-y direction to determine what parts might be from the image.Then i apply dialation to necessary part so that this part can be clear.Once the place has become clearer I get a clear image of the required area with OCR (optical character recognition) or template matching.If you make a comment at least I am very pleased thanks a lot.
Take a picture of a single, sharp black dot with the old camera to estimate its PSF.
Now use a supervised deblurring algorithm using that PSF.
If the settings of the camera were lost, you can try an reproduce similarly blurred images of the available coins, by varying the focus and optimizing the correlation to the available pictures.
Note: I am not asking for code just the name of some algorithms I can research
Problem
I'm trying to do a 3D reconstruction from multiple images where the subject is rotating.
I don't have a lot of experience in the CV field and my mathematics is not particularly good so I am reliant on either simply worded papers or existing libraries/tools.
Where I'm At
I have been researching and testing using Structure from Motion (with VisualSFM) to generate a 3d point cloud and Multi View Stereo (with CMPMVS) to reconstruct the scene.
Obviously these algorithms are designed to process images where the camera (or cameras) moves and the scene is stationary so the reconstructions fail for a number of reasons.
Example: I've been working with short videos of a person rotating around a marker on the floor, see below. I've tried removing the background but this seems to make it harder for SfM to build pairs, probably because of the lack of intformation.
Question
Does anyone know the name of an algorithm/pipeline that will be able to reconstruct a series of images with a static background and a rotating object?
Or is it not possible to do a 3d reconstruction in this way?
For a project of mine, I'm required to process images differences with OpenCV. The goal is to detect an intrusion in a zone.
To be a little more clear, here are the inputs and outputs:
Inputs:
An image of reference
A second image from approximately the same point of view (can be an error margin)
Outputs:
Detection of new objects in the scene.
Bonus:
Recognition of those objects.
For me, the most difficult part of it is to take off small differences (luminosity, camera position margin error, movement of trees...)
I already read a lot about OpenCV image processing (subtraction, erosion, threshold, SIFT, SURF...) and have some good results.
What I would like is a list of steps you think is the best to have a good detection (humans, cars...), and the algorithms to do each step.
Many thanks for your help.
Track-by-Detect, human tracker:
You apply the Hog detector to detect humans.
You draw a respective rectangle as foreground area on the foreground mask.
You pass this mask to "The OpenCV Video Surveillance / Blob Tracker Facility"
You can, now, group the passing humans based on their blob.{x,y} values into public/restricted areas.
I had to deal with this problem the last year.
I suggest an adaptive background-foreground estimation algorithm which produced a foreground mask.
On top of that, you add a blob detector and tracker, and then calculate if an intersection takes place between the blobs and your intrusion area.
Opencv comes has samples of all of these within the legacy code. Ofcourse, if you want you can also use your own or other versions of these.
Links:
http://opencv.willowgarage.com/wiki/VideoSurveillance
http://experienceopencv.blogspot.gr/2011/03/blob-tracking-video-surveillance-demo.html
I would definitely start with a running average background subtraction if the camera is static. Then you can use findContours() to find the intruding object's location and size. If you want to detect humans that are walking around in a scene, I would recommend looking at using the built-in haar classifier:
http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html#cascade-classifier
where you would just replace the xml with the upperbody classifier.
A video-camera is mounted opposite a blackboard on which several concentric circles are roughly drawn in chalk. The circles are non-ideal, and the camera is not quite steady. The camera has a CVBS (composite) output.
I need to make a mission-specific hardware that would take snapshots from the camera, calculate circle diameters, and output them to a simple LED display.
So I have to: 1) capture an image; 2) apply a few alogorithms to improve the image (like thinning etc.); 3) recognize & measure the circles.
Since I'm totally new to this area, I would appreciate any inputs: schematic description of how such a circuit can be designed, keywords to google-around, examples, existing solutions that can be re-used -- I'd appreciate any pointer.
P.S. No, it's not a homework :). Just thinking of an idea and trying to estimate its complexity.
How do Google Maps do their panoramas in Street View?
Yeah, I know its Flash, but how do they skew bitmaps with Correct Texture Mapping?
Are they doing it on the pixel-level like most Flash 3D engines?, or just applying some tricky transformation to the Bitmaps in the Movieclips?
Flash Panorama Player can help achieve a similar result!
It uses 6 equirectangular images (cube faces) stitched together seamlessly with some 'magic' ActionScript.
Also see these parts of flashpanos.com for plugins, and tutorials with (possibly) documentation.
A quick guide to shooting panoramas so you can view them with FPP (Flash Panorama Player).
Cubic projection cube faces are actually 90x90 degrees rectilinear
images like the ones you get from a normal camera lens. ~ What is VR Photography?
Check out http://www.panoguide.com/. They have howtos, links to software etc.
Basically there are 2 components in the process: the stitching software which creates a single panoramic photo from many separate image sources, then there is the panoramic viewer, which distorts the image as you change your POV to simulate what your eyes would see if you were actually there.
My company uses the Papervision3D flash render engine, and maps a panoramic image (still image or video) onto a 3D sphere. We found that using a spherical object with about 25 divisions along both the axes gives a much better visual result than mapping the same image on the six faces of a cube. Check it for yourself at http://www.panocast.com.
Actually, you could of course distort your image in advance, so that when it is mapped on the faces of a cube, its perspective is just right, but this requires the complete rerendering of your imagery.
With some additional "magic", we can also load still images incrementally, as needed, depending on where the user is looking and at what zoom level (not unlike Google Street View does).
In terms of what Google actually does, Bork had this right. I'm not sure of the exact details (and not sure I could release the details even if I did), but Google stores individual 360 degree streetview scenes in an equirectangular representation for serving. The flash player then uses a series of affine transformations to display the image in perspective. The affine transformations are approximate, but good enough to aggregate to a decent image overall.
The calculation of the served images is very involved, since there are many stages of image processing that have to be done, to remove faces, account for bloom, etc. etc. In terms of actually stitching the panoramas, there are many algorithms for this (wikipedia article). Just one interesting thing I'd like to point out though, as food for thought, in the 360 degree panoramas on street view, you can see the road at the bottom of the image, where there was no camera on the cars. Now that's stitching.
An expensive camera. makes
A 360 degree video
It is pretty impressive to watch a video that allows panning in every direction... which is what street view is without the bandwidth to support the full video.
For those wondering how the Google VR Photographers and editers add the ground to their Equirectangular panoramas, check out the feature called Viewpoint Correction, as seen in software like PTGui:
ptgui.com/excamples/vptutorial.html
(Note that this is NOT the software used by Google)
If you take a closer look at the ground in street view, you see that the stitching seems streched, and sometimes it even overlaps with information from the viewpoint next to the current one. (With that I mean that you can see something in one place, and suddenly that same feature is shown as the ground in the next place, revealing the technique used for the ground stitching).