Science topic

Image Processing - Science topic

All kinds of image processing approaches.
Questions related to Image Processing
Question
2 answers
hi, i want to segment an image. i am using matlab. i ve used qtdecomp(image) to obtai the quad tree model for the image but it's throwing an error. pls help me. i ve taken a proj besed om image segmentation
Relevant answer
Answer
What is the error that it is throwing? What message do you get?
Question
10 answers
I would like to know the code for image segmentation using matlab.
Relevant answer
Answer
Hi Vaishali Karunanithi,
for a simple, threshold based, segmentation you could do:
I = imread('rice.png');
figure, imshow(I)
BW = im2bw(I, graythresh(I));
CC = bwconncomp(BW);
L = labelmatrix(CC);
RGB = label2rgb(L);
figure, imshow(RGB)
you can also use regionprops(..) to get properties of the segments:
s = regionprops(BW, 'centroid');
centroids = cat(1, s.Centroid);
imshow(BW)
hold on
plot(centroids(:,1), centroids(:,2), 'b*')
hold off
It's probably best to read the documentation about the functions above, since MATLAB documentation is quite good imho.
hope that helps
cheers
Question
7 answers
I have recorded EOG in .eeg format. I want to convert .eeg file to .mat file in matlab for analysis. anyone know how to convert it?
Relevant answer
Answer
Hi Chirag,
I assume you talk about the BrainVision .eeg file format. It comes together with a .vhdr file in the same directory. Using matlab, you can download the eeglab toolbox
http://sccn.ucsd.edu/eeglab/, it comes with a plugin toolbox (bva-io) to handle BrainVision file formats.
Using this toolbox, you can just type:
res=pop_loadbv('yourfile.vhdr');
to load all the information in a matlab structure. In particular, res.data contains the signals in a matrix (channels x samples).
Question
8 answers
Which one should be used as a classifier for hand writing recognition, HMM or Support Vector Machines? For which type of data are one of these more suitable and other is not? Is there some major difference in the goals of these two both of these essentially perform the same task? What should we consider when choosing one of these two?
Relevant answer
Answer
In any case, the results of any of them will also highly depend on your selected features and modelling. Given similar features, an obvious answer is to consider both and take whichever gives you the most satisyfing results (in terms of accuracy and computational load), as the two models rely on rather different assumptions.
Now, as HMM use Markov Chains, I would use them as a first choice if I wanted to recognize sequences of letters (words), while I would use SVMs as a first choice if I was more interested in recognize each individual letters.
Question
3 answers
Image analysis
Relevant answer
Answer
Regularization is very good for image enhancement. For image segmentation, it is also good, but the speed/performance maybe not very good. For segmentation, I recommend you use MRF/MAP
Question
1 answer
Can anyone suggest a good HMM library or toolkit for character recognition? Does OpenCV support HMM?
Relevant answer
Answer
Yes, OpenCV supports hmm through its CvHMM Embedded HMM Structure
Question
9 answers
Usually this segment process only needs to manipulate the data from image directly. So, how do I manipulate histogram instead of image?
Relevant answer
Answer
I would suggest a reading that will be useful for your work:
Question
19 answers
I have a 2D binary image containing a single object, and I'm trying to determine the largest ellipse that fits entirely within that object.
There are many techniques that will quickly fit an ellipse in a best-fit sense to the object, but this does not ensure that the ellipse will be entirely within the bounds of the object - in fact, unless the object is a perfect ellipse, they usually guarantee that it won't.
I have tried using a cost function and search algorithms to refine a starting estimate, but this is too slow. I've been using a home-made iterative technique, where I erode away edges, but this is also slow. I'm starting to wonder if I'm reinventing the wheel here.
[Edit] ----------------------------------------------------------------------------------------------
Thanks all for your replies. I'm adding some more detail.
Here is a link to some artificial data: http://img211.imageshack.us/img211/223/ellipseresult.png
I hope this works; I can't check it at work, I have to wait until I get home. The aritificial data shows a white region with a green ellipse "fitted" to it in the manner I discussed above. I can't provide "real" data unfortunately, but the artificial is a pretty good likeness.
To clarify, by largest ellipse, I mean the largest area (unfortunately - axis would be easy!). As to the issue of speed, I should probably add that I am trying to get this done very quickly, because it needs to be done for hundreds (if not thousands) of ellipses, so anything that takes a few seconds is not considered fast in this context. I think the operator would expect the result in a minute or two, maximum, for about a thousand ellipses. Having said that, if it can't be done, it can't be done.
I have tried a combination of estimation and then refine with a cost function and search algorithm. This seems too slow given the number of ellipses, as I discussed above. The other method I tried was an iterative approach which started with a list of boundary points, then discarded those that seemed to be too far "outside" for a fit. The next step is to fit the points which are either ont he ellipse or inside the ellipse, in an iterative fashion. I think this is what Jeffrey was also suggesting in the first part of his answer (encouraging if someone else is thinking on the same lines).
Technically, all of the ellipse should be inside the object. An error margin of about 0.5 pixels seems appropriate though to accomodate interpolation and thresholding.
I am going to try further refining my iterative solution. I will try being more ruthless in the early stages of pruning boundary points, and I will look for a faster algorithm for ellipse estimation. I'm currently implementing this in MatLab, and I'm using someone's implementation of the Trusted Region algorithm (I'd put in the name, but I can't get to the MatLab site right now). Eventially, I may switch it from MatLab to something like OpenCV to see how much speed gains I can get. Unfortunately, this will first mean learning OpenCV!
Relevant answer
Answer
If you want a fast ellipse detector, you should try one of these:
L. Libuda, I. Grothues, K.-F. Kraiss, Ellipse detection in digital image
data using geometric features, in: J. Braz, A. Ranchordas, H. Arajo,
J. Jorge (Eds.), Advances in Computer Graphics and Computer Vision,
volume 4 of Communications in Computer and Information Science,
Springer Berlin Heidelberg, 2007, pp. 229-239.
M. Fornaciari, A. Prati, Very Fast Ellipse Detection for Embedded Vision Applications, ICDSC - ACM/IEEE 6th International Conference on Distributed Smart Cameras, Hong Kong, 2012
The code of the first is available on-line (see the paper for the link).
The second is part of my research. I don't know if the paper is already available on-line, since it will be presented today in Hong Kong. The code will be available on-line soon. If you need further information please contact me.
Otherwise, if you are only interested in a least-square fitting method, please consider one of these:
A. Fitzgibbon, M. Pilu, R. Fisher, Direct least square tting of ellipses,
Pattern Analysis and Machine Intelligence, IEEE Transactions on 21
(1999) 476 - 480.
Z.L. Szpak, W. Chojnacki, A. van den Hengel, Guaranteed Ellipse Fitting with the Sampson Distance, ECCV European Conference on Computer Vision, Firenze (I), 2012.
Both implementation are available online.
I hope this will help you.
Question
2 answers
I am working on one project, where I have to control hand skeleton with EEG and EOG. EOG. But I am confused about how to use EOG to control robotic hand. Any suggestions?
Can anyone help me to do behavior subtraction using matlab?
Question
10 answers
Im doing project on paper Behavior subtraction. I need the help for coding.
Relevant answer
Answer
For the given video, i have to perform background subtraction,anomaly detection as well as motion path detection.
What is the scope of pulse coupled neural networks in image processing?
Question
4 answers
PCNN is well known for image enhancement. Is the network currently utilized?
Relevant answer
Answer
http://github.com/kunzhan/PCNN http://shootingcupoche.com/publication/305767748_Code_download_Review_of_PCNN_Matlab_code_PCNN_demos
Question
6 answers
Looking for some implementation of compressive sensing.
Relevant answer
Answer
Any signal is sparse in some domain like Fourier, DCT, or Wavelet. So we can compress a signal in that domain. Compressed sensing utilises this by using random projections for sampling. The measurement (or sampling) is minimal and it uses L1 optimisation or greedy methods for reconstruction(determining all under-determined vector in the algebraic equation). A typical application is a single pixel camera, to understand this process.
What is the difference between multidetector and multislice CT scanner from the imaging purpose and image quality point of view?
Question
5 answers
What's the difference between images taken by multidetector and multislice CT scanner?What kind of images does each one produce?
Relevant answer
Answer
Multidetector and multislice CT are the same thing. The difference in terminology probably stems from the manufacturers in the same way that "spiral" was used by GE and "helical" was used by the other manufacturers. The scanner will create a cross-sectional image, just like any CT scanner - usually in the axial plane.The difference between MDMS CT and single slice helical/spiral CT is the number of slices acquired in each rotation around the patient. A single slice machine acquires information for 1 slice with each rotation. An 8-slice scanner will acquire information for 8 slices during each revolution. The more slices acquired at a time, the faster the scan will be. For example, a 16-slice scanner can image the entire abdomen in about 30 sec. The new 500-slice scanners are fast enough to image the heart without motion artifacts: http://www.gehealthcare.com/euen/ct/products/Optima_CT660/imaging_power.html
Question
46 answers
Conversion of DICOM to Surface representation file
Relevant answer
Answer
A straight-forward DICOM to STL conversion is easily possible with 3DSlicer, an open-source software tool that you can download here: http://www.slicer.org/ .
Your question has been answered as well in the FAQ section there:
- use the File/Add Volume module to load the data into Slicer
- use the Interactive Editor to create a label map which contains the structure you are interested in
- use the Modelmaker functionality to create a triangulated surface model
- use File/Save to save the model in STL format.
Question
3 answers
I would like to know if you have experience or some references to paper discussing this topic. In case the image presents for example salt and pepper or gaussian noise, what about performances? is it fundamental to perform some filtering on the image?
Relevant answer
Answer
The Viola-Jones detector uses the Haar-like features. Those features are based on the average value of image intensity over rectangular areas. The noise influence would probably noticable only in case of realy small search windows. E.g. the face detectors are usually using approx. 32x32 window. If you use the detector to search for larger objects (bigger than 64x64) the averaging character of the Haar-like features should in fact work as a filter.
Question
2 answers
is there any way a program can emit codes. Not by doing string concatenation. it should logically generate codes based on observation.
Relevant answer
Answer
What exactly do you mean by 'codes'? What exactly do you mean by 'logically'`? Most programs generate output depending on it's observation of e.g. keyboard status
I think a bit more detailed description would help ppl to anwser...
cheers
Question
3 answers
There might be a way to divide the image into sub blocks to eliminate the light effect. So high illuminated parts will be quantized alone; this will alleviate the highly illuminated parts and decrease the affect on the other less illuminated parts.
Relevant answer
Answer
Hi Ahmad Hassanat,
there are CCD/CMOS designs that allow for a different sensitvity per Pixel (Or a block if you want). E.g.:
Sung-Hyun Jo, 2011: "CMOS active pixel sensor with variable dynamic range using a double-photodiode feedback structure"
Sarit Chen, Ginosar, R. 1994: "Adaptive sensitivity CCD image sensor"
Ginosar, R: "Adaptive Sensitivity"
But I wouldn't call this image pre-processing, it's happening before image formation. It's a special property in image acquisition.
Hope that helps,
cheers
Question
3 answers
I want to apply DWT2 of Matlab with db4-20. What I get is that Subbands are not the exact halves of 2^n image. For example if the image is 1024x1024 then the Subbands are of size 515x515 for db4 and increases with each higher dbX.
Relevant answer
Answer
From MATLABs documentation on dwt2:
"Let sx = size(X) and lf = the length of filters; then size(cA) = size(cH) = size(cV) = size(cD) = sa where sa = ceil(sx/2), if the DWT extension mode is set to periodization. For the other extension modes, sa = floor((sx+lf-1)/2)."
So you will only get subband images of half size if you set the extension mode to perdiodic:
>> [cA1,cH1,cV1,cD1] = dwt2(X,'db4','mode','per');
will yield 512x512 subband images if X is 1024x1024.
You can also use dwtmode(..) to set the mode statically, but watch out it's documentation, its 'per' for periodic, not 'ppd' as written in my R2011b documentation..
Why exactly this behaviour is the case, I can't tell..
Question
9 answers
I need some sample code
Relevant answer
Answer
Of course you can use MATLAB, there are specific toolboxes (e.g. image processing). But you might want to use other software (open source solution exist) if you are not familiar with programming.
and concerning the codes, you should be a bit more precise. There are zillions of codes available. Look at the MATLAB community sites....
Question
1 answer
Is anyone here familiar with planar Hidden Markov Model (PHMM)? I found an article related to Handwriting Signature based on Automatic Segmentation that using PHMM approach (*refer to attachment below), but I don't quite understand it. If possible,can anyone explain to me how the PHMM works on the signature segmentation? Or does anyone know some specific algorithm/any link that I can refer regarding signature segmentation?
Relevant answer
Answer
In my opinion, nowadays the best method to authenticate handwritten signatures is using a tablet and on-line signature authentication... in this case, the signature segmentation is not really a big problem. If you are interested about this topic, see: http://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=signature+authentication+neural&x=0&y=0 [IEEE Xplore: Keywords - signature authentication neural] or here at Research Gate: http://shootingcupoche.com/search.Search.html?query=Handwritten+signature+authentication+neural
Question
5 answers
Hi everyone... I want to do some personal research work on thermal image.I am new in this image.I have some thermal image of human face and the basic thing I want to segment the two eye from that.But I have no idea about it?? anyone here who want to discuss this...
Relevant answer
Answer
First, I would rather use a gray-scale image instead of color one. If eyes are always the hot spots you can use this information to select the regions of interest. Then you may apply edge-detection algorithms to find high gradients in the image. Perhaps simple comparison of hot areas and high-gradient areas could give you the eye-lid contours. Then segmentation and labeling should do the thing.
In visual range face detection nostrils are often used as a start. If you change the position of the camera you might use them as well.
Question
9 answers
Please reply as soon as possible
Relevant answer
Answer
I think the compression ratio vor ogg-vorbis (we're talking about the audio compressor here right?) is configurable.
It's even content dependend (http://en.wikipedia.org/wiki/Variable_bitrate)
Think you can find infos about vorbis here:
what do you mean by "how can i show u with practical implementation"?
cheers
Question
4 answers
Convex optimization or classical optimization etc
Relevant answer
Answer
Agree with Peter .. you need to set the criteria first e.g. best Imperceptibility or high Robustness. You can then make a trade-off between them to achieve your optimum conditions. You can also consider keep the imperceptibility at Just Noticeable Difference (JND) and then try to increase the robustness.
Question
60 answers
I need detail about image processing; how it helps for this world; what is the importance of it?
Relevant answer
Answer
igital imaging or digital image acquisition is the creation of digital images, such as of a physical scene or of the interior structure of an object. The term is often assumed to imply or include the processing, compression, storage, printing, and display of such images.
Digital imaging can be classified by the type of electromagnetic radiation or other waves whose variable attenuation, as they pass through or reflect off objects, conveys the information that constitutes the image. In all classes of digital imaging, the information is converted by image sensors into digital signals that are processed by a computer and outputted as a visible-light image. For example, the medium of visible light allows digital photography (including digital videography) with various kinds of digital cameras (including digital video cameras). X-rays allow digital X-ray imaging (digital radiography, fluoroscopy, and CT), and gamma rays allow digital gamma ray imaging (digital scintigraphy, SPECT, and PET). Sound allows ultrasonography (such as medical ultrasonography) and sonar, and radio waves allow radar. Digital imaging lends itself well to image analysis by software, as well as to image editing (including image manipulation).
Software for Nomarski DIC microscopy image preprocessing
Question
20 answers
I have a bunch of cell images which I want to analyse (mostly basic stuff, like cell count, speckle detection etc., but there might be more difficult stuff on the horizon). Unfortunately, they have been obtained by differential interference contrast microscopy, which creates highlights and shadows to aid the eye in detecting 3D structures, but make things make complicated for image analysis. Is there any software to remove these effects, or any approach known to work? Here's an example of those effects: http://131.229.88.77/microscopy/Portfolios/Portfolios08/Cara/P4I3.jpg
Relevant answer
Answer
I assume you want to do things like cell counts and shape analysis? If that is the case you will need to "integrate" across the image to restore some of the contrast that DIC has turned into a derivative. It is possible to use the functions in ImageJ to do some of this processing A place you can start working on this problem are described here - concerning background correction - http://imagej.1557.n6.nabble.com/DIC-Nomarski-image-background-correction-td4998524.html The macros described in the posting do have some positive effects on your test image .. See #1 here - http://imagejdocu.tudor.lu/doku.php?id=howto:working:how_to_correct_background_illumination_in_brightfield_microscopy See #2 here - http://list.nih.gov/cgi-bin/wa.exe?A2=ind1205&L=IMAGEJ&F=&S=&P=105906
Question
2 answers
Does any one know the exact formula(s) for convex objective functions which their solution is SVD decomposition of matrix X?
Relevant answer
Answer
I suppose you refer to the optimisation problem of finding a linear combination of p vectors of length n that have maximum variance (or sum of squares when directly linking it with SVD) ..and then adding up an uncorrelated constraints for the next linear combination (having maximum variance but being uncorrelated with the first one). This usually leads to to eigen-decomposition of the Xt(X) (with your notation).
You may also have a look at the bilinear optimisation, equation (5) in the following paper, expressed using a tensor formalism.
Leibovici, D.G. (2010) "Spatio-temporal Multiway Decomposition using Principal Tensor Analysis on k-modes: the R package PTAk." Journal of Statistical Software, 34(10), 1-34. I think the paper is uploaded on my ResearchGate.
didier
Question
1 answer
Relevant answer
Answer
Hi Debby! Can you be more specific. I have described the process of FD and Lacunarity as far as Feature extraction is concern. Paper is available in public domain.....if you any specific question please let me know. I would suggest you to go through the book "Fractals Everywhere"
Is it possible to filter a noisy image using 2-D AR model? If so, how?
Question
15 answers
As you know it is possible to design a filter for a noisy signal using Auto-regressive model and solving AR(p) by Yule-Walker equation. Is it possible to use the same algorithm for filtering noisy images? What is the best way to solve 2-D AR model?
Relevant answer
Answer
Often the pixel values occur at different locations in a digital image are not correlation and can be treated as random variable. For digital images, there are numerous filters developed available. The filters are highly subjective and largely dependent on the nature of noise in the image. You can post the image, so that you can get more specific answer to your problem.
Question
18 answers
What is the best method for classifiers using K-Nearest Neighbor? (euclidean distance, city blox, chebychev, minkowski, hamming, etc)
Relevant answer
Answer
Depends on the problem you are on right now.
Euclidean Distance measure the dissimilarity between two vectors, but if the vectors are of similar shape then itz fatal 2 use it.
Pearson linear correlation (PLC) is a measure that is invariant to scaling and shifting( measures the degree of a linear relationship between two expression profiles)
Similarly, Other Distances have their own properties.
Question
24 answers
I need to carry out a change detection for a land cover map for three time epochs. The problem is: I have scenes in two different UTM zones 35 and 36 and mosaicing them causes a shift that affects co-registration and hence the change detection. Re-projecting them to planar (geographic) does not solve the problem either. Does anyone have any suggestions?
Relevant answer
Answer
Depend on what kind of change detection algorithm you run. If it is a pixel-by-pixel, then certainly I would not do any geometric transformation. Rather do my analysis on images from two zones separately. Combine the results in the end if that is necessary for visualization/presentation. While this is a common problem, I am not aware of any suitable technique to solve your problem. Remember - when you project your data, you have to live with the distortion. Not only your pixel locations will be shifted, but also the actual values of the pixel, because the new pixel values have to be interpolated by one of the methods such as nearest neighbor, cubic etc. In the process you change the pixel values - which I think is detrimental to any change detection you want to perform.
Hence, my suggestion - perform change detection on original images without any mosaic. Do it in the end when you are done with the analysis.
Question
9 answers
Object detection which are in shapes of triangles and circles
Relevant answer
Answer
In OCR experiments I compared histograms of
distances of randomly chosen point pairs on
an object. Here the first found figure is compared
with the others, and the best one is colorized red
(nearest neighbor)
But in your case another approach might also
be interesting: generalized Hough transform.
Regards,
Joachim
Question
1 answer
Can we use convex relaxation of the popular K-means algorithm.
Relevant answer
Answer
See us on research gate and our website for ultrasoud image segmentation
Question
13 answers
I'm looking for a C++ solution/technique that can find outlines in an image (image may be cartoonish looking one, not a photo) and create array of lines.
Basically I am not looking for filled shapes, neither for hatch detection etc. - just outlines.
For instance, if I have a black-and-white png with some hand drawing of a :-) smiley, I would like to be able to process this image and create an array of lines as data and store them into my own binary format, so later these can be used in vector-based drawing engine.
Is anyone experienced in this?
Even theory (not c++ sample code) is fine, I'm just looking for directions.
Relevant answer
Answer
OpenCV has pretty powerful built-in functions for contour finding and management. A simple example on the usage of these is given here:
I encourage you to look through the documentation of the functions.
Question
17 answers
Is the speckle in ultrasound noise?
Relevant answer
Answer
Speckle is the dominant noise in SAR imagery. It is due to multiple coherent reflections from the ambience around the target. Multi looking or adaptive edge preserving filtering can be used to remove the noise.
Question
4 answers
Now I work on this topic, and use the variance of brightness in a local neighborhood as a feature. But I seek for some better ones.
Relevant answer
Answer
Huge topic I think. Take a look in this paper for a specific stereo matching cost function implementation and some state of the art brief survey. If you want sparse and not dense matching for depth extraction from images check point operators.
Question
4 answers
I have done this many changes but what code is there to recognize the person?
Relevant answer
Answer
I have made the same program, but in LabVIEW, in this program the face is saved automatically if you select only the face, but of course, it needs to be at the same angle as the saved one... There is a good book that could help you: Dynamic Vision from Images to Face Recognition (Gong, McKenna, Psarrou) or Handbook of Face Recognition (Li, Jain). Greetings.
Question
3 answers
I'm trying to implement a real time system to sense and avoid, I have been given a robot to program, but it only has a single camera with out the capability for modifications. This system is over a wifi network and must be in real time. Any suggestions?
Question
5 answers
I'm new in "the research world", but I have been searching for around a month and everything I found is about how they work (lot's of maths, I think it ill be easy for me to understand if I see the code). I only need to know "if" there is any available source free to download. If not, then I will try to do it myself. Please advice.
Relevant answer
Answer
You do realize you are wanting image processing groups to give away one of the tangible assets that they produce. Ising/Potts segmentation is pretty old and pretty simple method for detecting binary boundaries. Matlab Central has an segmentation routine that has been shared by Jing Yuan -- see the following link - http://www.mathworks.com/matlabcentral/fileexchange/34224
Regarding DyTexMixCS,DyTexMixIC - these are active areas of development. No one is freely publishing code. Your best hope is to contact one of the labs working on this and collaborating with them. You will find that many places are open to this. Just from the results that are being published, you might want to contact the Statistical Visual Computing Lab at University of California San Diego. This publications from this group are right in line with the processing methods you are asking about... see the following link ... http://www.svcl.ucsd.edu/ and here also ... http://www.svcl.ucsd.edu/projects/motiondytex/synthdb/synthdb3/
Question
3 answers
Palmprint recognition
Relevant answer
Answer
How to track a facial expression?
Question
6 answers
The files has the extention .vol, and the format is called "Kretzfile". It is a 4D ultrasonic study for fetal heart analysis. Doctors called the analysis STIC (Spatio-Temporal Image Correlation). The images were adquired using an ultrasound system "Voluson 730" of General Electric. I need the images for my research project related to segmentation and optical flow estimation.
Relevant answer
Answer
I've implemented a GE/Kretz 3D ultrasound image reader in 3D Slicer. After you have loaded the image you can use all the awesome tools in 3D Slicer to visualize and process it (for example, to create a 3D-printable model). You can see a demo here:
It's not perfect yet (spherical to Cartesian conversion is not fully accurate), but it's completely free and open-source - fixes and improvements are welcome. For further details and questions please post to the 3D Slicer forum:
Question
2 answers
I want find some methods in color gamut detection and boundary output and realizing it with MATLAB.
Relevant answer
Answer
Maybe you can check Matlab file exchange
Please tell me if you find the good method.
Question
1 answer
I work on clusters.
Relevant answer
Answer
Chebyshev method
Question
1 answer
I tried for getting disparity map of video frames from single video... but unsuccessfully.
Relevant answer
Answer
OpenCV disparity algorithms implement disparity estimation from stereoscopic imagery, obtained from well calibrated fixed stereo camera rigs. If you apply those algorithms to any other sort of images they simply wont work at all.
Question
1 answer
Signature verification
Relevant answer
Answer
This is hard to be answered. In principle, size is irrelevant because it may be caused (elicited) by the size of a writing box or rectangle on the form. On the other hand, human signature-verification experts know that some individuals always write small, others always sign with a large signature pattern. So (homogeneous, not anamorphic) size normalization is good, but do not forget the original size of the ink pattern as a feature value for Bayesian modeling that is separate from, and additional to your major feature method. Similar problems occur in ink-trace thickness. In principle, the used writing implement is irrelevant to the overall signature shape (trace thickness should be normalized away) but human forensic document examiners will be surprised if a writer suddenly uses a thick felt tip pen instead of the usual thin ball point pen and will note that in their report.
Question
4 answers
How is digital watermark embedded into printed pages?
Relevant answer
Answer
Digital watermarking is the process by which identifying data is woven into media content such as images, movies, music or programming, giving those objects a unique, digital identity that can be used for a variety of valuable applications. Imperceptible to the human senses yet easily recognized by special software detectors, a digital watermark remains constant even through recording, manipulation and editing, compression and decompression, encryption, decryption and broadcast — without affecting the quality of the content.
there is apaper about that in "Digital Watermarking Method for Printed Materials Embedding in Hue Component" at Intelligent Information Hiding and Multimedia Signal Processing, 2009. IIH-MSP '09. Fifth International Conference on Date of Conference: 12-14 Sept. 2009
Author(s): Goto, Y.
Grad. Sch. of Eng., Tokai Univ., Hiratsuka, Japan
Uchida, O.
Page(s): 148 - 152
Product Type: Conference Publications
Question
11 answers
I am pursuing a project on face detection in a given image where few researchers have used an optimum set of Haar like features to detect faces irrespective of their sizes in a given image. I find from the literature that few have used the Adaboost algorithm for this and am stuck at this point. Any ideas or suggestions?
Relevant answer
Answer
Clearly AdaBoost is not a feature extraction algorithm but a method to train a cascade of classifiers.
In the method described by Viola and Jones and implemented in the OpenCV face detection algorithm, Haar like features are extracted in an efficient way by constructiong a summation area table (SAT) and then performing a limited amount of computations on that.
Question
7 answers
I work with image compression. If you had a compression algorithm that worked well on images of interest and performed badly on noise images, what percentage would that be out of the whole 256^(512*512) image space.
Relevant answer
Answer
Carlos and Eric, thanks for the answers and link. To clarify, I am interested in what percentage of actual images of photographs of real world objects or landscapes, or space, or microscope images are of the total possible image space?
I work on improving wavelet image compression under uniform quantization using Genetic Algorithms to evolve wavelet like transforms where the mean squared error is lower for the evolved transform than the initial wavelet. I know that you can't have a perfect compressor that always makes things smaller, or you could just keep putting the output from the compressor back into the compressor and eventually end up with 1 bit, and that would give you either a 1 or a 0 that would have to decompress to your original image and also all images. So for some images a give compressor will make the image bigger filesize wise. Ideally you would want a compressor that did well on "interesting" images and not care if it made files larger for random high entropy images. I agree that most photographs will be low entropy, but are there many high entropy photo images? I know the classic training image Barbara has higher frequency changes in the scarf and table cloth. http://www.hlevkin.com/TestImages/barbara.bmp
I know a lot of compression techniques take advantage of low entropy, just was wondering if there were any studies or estimates of what percentage interesting images are of all possible images and if that can be used to improve compression even further.
Question
1 answer
I use the traker of open cv but I don't even know if I actually have to do that or not, I have realised a background subtraction and I would like to do a classification of my moving objects. I don't know if I have to track my blobs before doing the classification or directly classify the foreground mask.
In both cases, as far I have a binary image resulted from the background subtration, I applied a morphological closing and now I don't know what to do. I have been told that I have to transfrom the foreground mask to a sequence each element represents an object to be classified but if the object is not an image how would it be classied? And if actually I have to create a sequence, how do I do that and how to deal with it content to be classified?
Can anyone help me please?
Relevant answer
Answer
I didn't get your question...
Question
12 answers
I want to segment 3D cone beam CT images and haven't found good methods to solve my questions. The volume of 3D CBCT image is consisted of many 2D slice images.
Relevant answer
Answer
Hello Shibin,
when you install the libraries come with a lot of examples. In particular ITK have a directory with several examples of segmentation that you can use for starting with the programming in ITK.
Also, you can wacht the next link http://www.itk.org/ITK/resources/applications.html which have application using ITK there is code source avaible of the different demos.
Moreover let me search something else related to 3D segmentation using VTK+ITK
bye
Question
3 answers
Does anyone know where I can find a MATLAB program that implements a bank of quaternionic gabor filters on a color image?
Relevant answer
Answer
Thanks for your response Patrick.
We have not the aerospace toolbox in our Department. I use quaternionic toolbox that is free :
Question
8 answers
Dear all
I hope to identify some regions in the image using it color space. I want to do this using fuzzy logic with image processing. First I want to derive the fuzzy set. But I new for fuzzy logic. So Can you help me ?
Relevant answer
Answer
"Systematic image processing for diagnosing brain tumors: A Type-II fuzzy expert system approach" in this paper segmentation is done by using clustering. Fuzzy clustering solves the problem....
Question
2 answers
Can any one tell me the research issues in Medical Image Processing?
Relevant answer
Answer
Neelambikai Umapathi wrote:
> Can any one tell me the research issues in Medical Image Processing?
I think the next big thing is making use of the GPU.
A normal PC has about 4 CPUs, but hundreds of CUDA
processors. CUDA is a concept devised by NVIDIA,
a graphic card manufacturer. The Chinese built a
supercomputer out of graphic cards, and Western
companies are striving to do likewise.
Regards,
Joachim
Question
13 answers
Can anybody suggest a source code for 3D human face model generating from images?
Open source and C++ codes are preferred for quick adaptation. Thanks.
Relevant answer
Answer
You must certainly look at VTK and ITK,
but in addition to that, you may want to look at:
that are both Computer Vision libraries.
I presume that the 2D images that you have of the faces are actual video / photographs, and not Slices (as in the case of the Visible Human), http://www.nlm.nih.gov/research/visible/
Is that right ?
If so, then, Computer Vision libraries is probably what you need.
Question
10 answers
I want to apply the object tracking methods for tracking particles in particle tracking.
Relevant answer
Answer
Have you looked at:
or
If one of those is interesting, you're welcome to use it as these are our open source projects
We also provide sometimes assistance for each as a part of collaborative research or commercial projects.
Question
3 answers
Elastography images are color images taken with ultrasound images of tissues for the detection of cancer, by observing the stress patterns of the tissue.
Relevant answer
Answer
Hi i have about 1000 elestography px and video
From my study about prostate Elastography
Rgds
ack
I need help about Fuzzy Morphological operator in image using Matlab?
Question
10 answers
I need guide on applying fuzzy mathematical morphology on images. Fuzzy Mathematical Morphology use concepts of fuzzy set theory. I am trying to explore Fuzzy MM approach in image processing. The values of a fuzzy set should be interpreted as degrees of membership and not as pixel values. Fuzzy image processing has three main stages: Image fuzzification, modification of membership values, and image defuzzification. The fuzzification and defuzzification steps are due to the fact that we do not possess fuzzy hardware. Therefore, the coding of image data (fuzzification) and decoding of the results (defuzzification) are steps that make possible to process images with fuzzy techniques. After the image data are transformed from gray-level plane to the membership plane (fuzzification), and then I want to apply dilation and erosion. The Definition [De Baets, 1997] of fuzzy dilation and fuzzy erosion of A by B (Structuring Element)are the gray-scale images can be found in (page 6) http://dmi.uib.es/~ugiv/papers/ipmu2004poster.pdf I am trying to do Fuzzy MM dilation and erosion in gray scale images by using Matlab image processing toolbox. But confused how to do it? I want to apply [De Baets, 1997] definition in gray scale image. Can you please make it more clear the idea for me? Thanks for your time and cooperation. http://dmi.uib.es/~ugiv/papers/ipmu2004poster.pdf
Relevant answer
Answer
Dear Mostafa, your choice may be adequate, but is more based on Sinha-Dougherty that in De Baets, in fact is a particular case of (T,S)-FMM. From the point of view of fuzzy logic the (C,I)-FMM (C a conjuntor, I an implicator) is a more correct generalization of the classical binary morphology. But it is real, depending on the applications may be more suitable one generalization than another. If you want some advice, working with the first two branches of the tree, which correspond to the most used in applications and they are also easier to program. Best regards Manuel González-Hidalgo
Question
10 answers
What are the advantages in case of medical imaging and how are they different?
Relevant answer
Answer
Hello Puja - yes in fact you can apply both the waelets and curvelets to the same image - however the resultant wavelet ccoefficients will be different - one that localizes arc-like features whereas the other localizing lines like the edges of a square
Question
10 answers
PCA is extended to feature space by nonlinearity function for feature study like image denoising applications. Why do we need nonlinear PCA?
Relevant answer
Answer
Kernel based methods work better for non-linear applications. The same can be said for PCA and kernel PCA. In image denoising, where usually there are nonlinearities Linear PCA would perform poorly, I think. In the web you will find several works for the denoising problem with kernel PCA. However, I do not think that this is the best method to perform denoising in kernel spaces.
Question
150 answers
It takes very long time to find out, sometimes much longer than the research itself. Sometimes I ignore searching the literature and focus on the idea, but after a while I find it is an old one!!
Relevant answer
Answer
Research is rarely just sitting in your chamber and doing your thing. An important aspect is to seek the conversation and discourse. Talk about your idea in your research group, or with other people you think might be knowledgable. In early stages you can try to position a poster at a conference or contribute to a workshop. If the reviewers won't point you to related work, the audience will.
What are the best journals for magnetic resonance image processing methods and applications (i.e. segmentation, classification, analysis)?
Question
5 answers
MR Image Processing Journals
Relevant answer
Answer
IEEE Transactions on Medical imaging, Computerized Medical Imaging & Graphics (Elsevier), Journal of Magnetic Resonance Imaging, Magnetic Resonance Imaging
Question
3 answers
Suppose I use laplacian pyramid for image denoising application, how would it be better than wavelets? I have read some documents related to laplacian tools in which laplacian pyramids are said to have better selection for signal decomposition than wavelets.
Relevant answer
Answer
Each method as it own advantage and disadvantage. I think laplacian pyramid will be better it as advantage of getting line information. At the same time decomposition factor and decimation need to work out properly.
Question
6 answers
Thanks
Relevant answer
Answer
be careful to aliasing effect. You can use the imresize function that will apply a low pass filter before subsampling in order to avoid such effect:
imresize(image,1/n);
% or for 1D signals
decimate(signal,n);
Question
9 answers
I have to use image processing using matlab. I need to take a picture of egg and analyse it using matlab and reach a conclusion whether it is cracked or not (I mean minor cracks of order micron).
My problems are:
1. What camera should I buy to take eggs pictures?
2. How can I make and run the camera from matlab?
3.Are there any useful resources which can help me in this regard?
Relevant answer
Answer
Camera with blue tooth connection. If u want run time analysis , then u must have a lap top having bluetooth. A s/w to be written in any language that to read the pic from the folder where u upload the pic. Need Statistics for crack egg to be define in s/w. Each pixel is divided into color combinatopn of (R,B,G). you can take any color one color value. Now if egg is crack then pic must capture a black line. y virtue of which you will find huge difference in color value at some region. you can now use any clustering technique to identify the same. Now i think it will be easier for u to write s/w.
Question
5 answers
Dear all,
can anybody help me how can i do image programming matlab practical and do i need some special hardware or not (i mean data acquisition) ?
Relevant answer
Answer
do you mean image processing? you just need the image processing toolbox in matlab.
If you are talking image acquisition, then you would need a daq card (try National Instruments or something similar). But you would still need the toolbox within matlab to process the data.
NOTE: This statement was prepared or accomplished by Vinay Pai in his personal capacity. The opinions expressed in this article are the author's own and do not reflect the view of the National Institutes of Health, the Department of Health and Human Services, or the United States government.
Question
8 answers
I want help on digital watermarking
Relevant answer
Answer
Use it
Question
8 answers
Dear all,
I am now investigating about steganography. Where can i found newest research about LSB method, etc? (sorry for my bad english)
Relevant answer
Answer
In ieee
Question
9 answers
Hii Researchers...
I am working on a Epigraphy Images...
I need to recognize letters on walls....
There are two steps involved......1st is segmenting letters from the image and 2nd is about recognizing the letters....
I am done with the second part of recognition :)
Now i want some help in segmentation work...
I cant work on color difference b/w wall part and letter part because its not there....
I want to start with Depth Recognition.....
please tell me how to go about it...thanks..
Question
1 answer
Image segmentation technique is not universe but why we are giving importance in bio medical for that
Relevant answer
Answer
Because in medical field we have to analyze a particular region not the whole image.
Question
1 answer
Som, fuzzy logic
Relevant answer
Answer
Classification.....fuzzy logic type-2.....
Question
9 answers
Given a convex function, there are a lot of methods that could be used to do the optimization, such as gradient decent, CG, primal dual method, PPA, Bregman Iteration, etc. But I am not clear that if there is a method which works in wavelet domain. If anyone knows something about it, please let me know. If you are interested by the topic, you can contact me by email, ygong@inf.ethz.ch, and we can work on it together.
Relevant answer
Answer
I have some idea of using wavelets in image processing and have some papers on it will it be useful for u then i can send
Question
5 answers
I want to impliment FFT for the satellite Images using C++ can any body give sujjestions...
Relevant answer
Answer
Try CImg, it has a FFT function.
What do you want to do ?
Question
7 answers
Dear all
I hope to collaborate with an interesting people with my search area "Wavelet neural network and it's application in image processing".
Relevant answer
Answer
Hi, 
It sounds promising, I am interested
best
Question
3 answers
Can anybody share any library to recognize gestures with a webcam, in C++ if is posible? I am looking for OpenSource for my research, something like http://flutterapp.com/
Relevant answer
Answer
Maybe you can try the AForge.NET library, which is free and has many options for image processing. It's written in c#, but it's worth trying. You can fing an example of gesture recognition in http://www.aforgenet.com/articles/hands_gesture_recognition/
Good luck.
Question
6 answers
I'm trying to compare my image contrast enhancement method to other ones. I tried and couldn't find anything on the web except some quite old and established methods. Does anyone know about some code on-line?
Relevant answer
Answer
U can use the normalization method, its simple and give good results.
Question
9 answers
I have to compute the FFT of sparse binary images - where pixel values are either zero or one, but mostly zero. I'm currently using FFTW under MinGW but I'd like to know if a faster implementation (for this particular type of images) exists.
Relevant answer
Answer
check this golden reference... S. Mallat, A wavelet tour of signal processing : the sparse way. Academic Press, 2009.
Question
5 answers
I want to convert MATLAB code to VHDL code or verilog.So,i can program any FPGA with that code.
Does anyone know complete sources or references or books or any complete material with one application?
Relevant answer
Answer
There are 2 ways to implement Matlab image processing algorithms into V-HDL/Verilog HDL code. 1st way: You can use the System Generator provided by a real-time FPGA/Video-Image Board such as Xilinx Virtex series or Advanced DSP Spartan board. All your image processing modules will be converted into hardware code modules, enabling embedded hardware programming algorithms. 2nd way: You can use the ACCELDSP Matlab software to run your Matlab m-script image processing algorithms into a real-time embedded environment with optimization techniques and minor changes to your code to run your processes in a parallel architecture, and then synthesize and get your V-HDL/Verilog code for real-time embedded processing.
Question
2 answers
Log Gabor function in image processing
Relevant answer
Answer
im talking about image denoising in here, i try to use a function that differs from log Gabor, any suggestions ?
Question
4 answers
Automated cervical cancer detection
Relevant answer
You can try ImageJ program.
Select from menu Image -> Adjust -> Thresold to extract nulei. Nuclei is most dark objects.
Quality of extraction of cytoplasm depends on image contrast and background properties. For example you can extract background (B) from image (I) first. Background have most bright pixels. Then you can get cytoplasm segment (C) like
C = I - B - N
where N - is nuclei segments.
To separate touching cells use Process -> Binary -> Watershed.
Most interesting thing is to match cytoplasm and nuclei of one cell. If you plan to calculate nuclei-cytoplasmatic ratio for example.
Question
4 answers
I want to classify character and non-character after segmenting an image. Kindly, recommend some comments. In addition to this, if anyone knows a classifier that can help in classification of character/non-character in matlab, please tell me.
Relevant answer
Answer
There may be many issues to consider before choosing an adequate approach. Does the whole image represent a character or non-character, or are there several symbols in the image which you need to classify? Are all symbols more or less the same size and orientation?
A neural network or an SVM may do the task, but only if either the patterns (characters, in this case) are consistent or if you extract invariant features from them; and you need to train the classifier first, which means you need a sufficiently large amount of pre-classified character and non-character symbols for training and testing.
I know my answer is somewhat vague but I did not want to throw ideas without having a clear picture of the problem you want to solve. Could you explain it in more detail? What kind of images are you dealing with? What is the output of your segmentation stage? Are there any specific issues about the character symbols one should take into account (language, size, orientation, etc)?
Question
11 answers
Mainly how are training samples selected? Do we assign class labels to each pixel in an image?
Relevant answer
Answer
Demetris, you can see image segmentation as a classification problem. Specifically, you want to classify each pixel in the image according to some criteria, so that all pixels belonging to a region are given the same class label. In this case, your input vectors are intensities of the pixel you want to classify, or the intensities of the neighboring pixels. I know there are many other models which may be more appropriate for segmentation (such as Markov Random Field models), but I think the Neural Network approach could work well in the case where (1) you do not have a clear idea of the segmentation criteria, or how to model it, and (2) you do have several examples of the expected results for given images, which you can use as training data.
Question
6 answers
I am working on text extraction of an image in Matlab. Can anybody tell me the basic path to follow regarding literature and implementation in steps. I will be thankful.
Relevant answer
Answer
Mainly it has two steps i.e. Text Extraction and Recognition. Text extraction involves image prepossessing ( Intensity normalization etc.), text area localisation ( i.e. connected component, blob analysis) and removal of non-textual region ( by applying some non-text related rules).
Recognition without OCR can be done using HMM.
Question
5 answers
How to perform segmentation and calculate particle size distribution from grey-scale images of overlapping sperical drops or bubbles?
Relevant answer
Answer
Hello Oleg,
I dont really like Hough transformation for circlular object detection. May got still this method for cricle detection : http://ceng.anadolu.edu.tr/cv/ -> http://ceng.anadolu.edu.tr/cv/EDCircles/
regards
adrian
Question
1 answer
Implementing udwt in matlab . Which is the function or corresponding loc(lines of code)
Relevant answer
Answer
Rakesh, you may visit the Rice Wavelet Toolbox Wrapper:
for computation of “Redundant Discrete Wavelet Transform” which is also referred to as UDWT.
Question
6 answers
How to use it for compression and so on.
Relevant answer
Answer
Compressive Sensing or Compressed Sensing is a technique to sample certain classes of signals in a rate below the Nyquist Rate. Given a discrete signal x with N components , if this signal is S-sparse what means only S of its components are non zero, you can use a matrix A of dimensions M x N, with M < N, and obtain the samples y = Ax. To recover the original signal, you have to solve the optimization problem:
min_b || b||_l1 subject to y = Ab,
there || b ||_l1 is l1 norm of the vector b. And it is shown that using M > Slog(N/S) measurements the solution of the above optimization is your signal x.
However, you must be aware that matrix A must obeys some conditions as Restricted Isometry Property (RIP), and the signal x must be sparse or it can be made sparse in a certain basis.
A good collection of papers on the subject can be found at dsp.rice.edu/cs , and a good source of actualized information in http://nuit-blanche.blogspot.com/ .
If you are mathematician guy you will prefer papers from Donoho, Candés and Tao, if you an engineer guy you will prefer papers from Richard Baraniuk.
Question
29 answers
I want to read multiple images in Matlab
Is there any procedure to read multiple images in Matlab?
Is there a function directly in Matlab?
Relevant answer
Answer
Hi,
what do you mean exactly ?
If you want to read images with different sizes and formats, you can use a loop and store in a cell array:
list = dir('*.tif');
for i = 1:length(list)
img{i} = imread(list(i).name);
end
If you want to read several slices to make a 3D image, you can use something like this:
pattern = img%03d.tif';
img = imread(fprintf(pattern, 0)); % read first slice
for 2 =1:n % read all other slices
img(:,:,i) = imread(fprintf(pattern, i));
end
Question
15 answers
Is is possible to do any implementation related to software defined radio at home?
Relevant answer
Answer
You should have a look at the GNU Radio framework, you can start with SDR/DSP without any hardware. Look at
There is also various hardware that supports GNU Radio:
Depending what you want to do a cheap sound card or USB radio receiver (with custom drivers) is enough, most people use the USRP2 hardware though.
In general, a good way to start is to look at the tutorials
http://www.linuxjournal.com/article/7505 (how to implement an FM receiver in GNU Radio)
and the existing projects (http://www.cgran.org/wiki/Projects), and start from there.
There are also youtube videos on how to do various things in GNU Radio.
Still you should expect a steep learning curve because SDR consists of many aspects in CS and EE, and there are lot of systems issues (getting GR to run, getting the hardware to run, understanding how to use GR blocks, ...)
Question
7 answers
Data Security Over the Internet.
Relevant answer
Answer
Hi,you can read more on webpage http://en.wikipedia.org/wiki/Steganography . What u ask is part of research about digital steganography .
Question
26 answers
I intend to use PCA for image compression. But I don't know how many PC's can be used for the maximum energy of image to be retained with maximum compression? I faced the same problem in SVD also.
Relevant answer
Answer
One question to ask yourself: why are you using PCA for image compression? For a very large class of applications, a discrete wavelet transform followed by quantization and entropy coding will give better results in terms of bits needed to preserve the most important image information. It is also common to do a DWT first before PCA to concentrate the energy even farther.
Of course, this is very dependent on your application. If you need a linear transform or are seeking orthogonal components for another reason, PCA could be a good choice. But you should think about why you are choosing it.
Question
8 answers
I have images taken by camera from all sides(By Matlab Codding), say Digits. Now how can I give I/p to the SVM or Any Classifier to classify images from each other?
Relevant answer
Answer
Dear Dipak,
Your question in perhaps not sufficiently precise. If the work is to find the belonging of each image in a single qualitative group , the simplest way of processing is first to invent a procedure for extracting features from these images: a given image may have a color , a shape, an image texture. Each of these domains may lead to the extraction of features that you can merge in a vector of features, associated to each image. You can gather all the vectors of features in a single matrix, with n row (the images) and k columns (the extracted features). This set of data (associated with the known qualitative groups) in the traing set, will enter a given classifier. I would recommend to begin with simple methods such asLinear discriminant analysis, quadratic discriminant analysis, or (better) Partial Least Square Discriminant Analysis (PLSDA) BEFORE trying complex methods such as SVM or Neural Networks. .
You could have a look , on my researchgate pages, on the publications of Y. Chtioui et al, for examples of feature extractions followed by discrimination.
Question
5 answers
What kind of signals it can filter the best?
Relevant answer
Answer
Indeed they are used as stated above.But for more technical information have a look at the following links. http://mplab.ucsd.edu/tutorials/gabor.pdf http://www.weizmann.ac.il/home/masagi/FogelSagi_BC89.pdf Happy reading!!!
Question
9 answers
Recently, I've been working on gesture recognition using HMM (Hidden Markov Model). But I found that before using HMM to recognize a gesture, I need to train the parameters (or classifier). Could anyone tell me how to do this?
Relevant answer
Answer
Hi Bo,
Yes you are correct - you need to train an HMM before you can use it to classify a gesture. This is normally done as follows:
[1] Record some training data of the gesture you want to classify, generally the more examples of this gesture you record (performed by several different people), the more robust your classifier will be
[2] Select the number of states (and symbols if you are using a Discrete HMM) that you think might work well for this problem
[3] Use the Baum-Welch algorithm in combination with the Forward-Backward algorithm to train the HMMs parameters (using the training data you recorded)
[4] You can now use the Forward-Backward algorithm (actually you only really need the Forward part here) to classify a new example as gesture G, some people also use the Viterbi algorithm to do this
A classic paper to find out more about these algorithms is: Rabiner (1989), A tutorial on hidden Markov models and selected applications in speech recognition
Some things to think about:
- If you are using a Discrete HMM then you first need to Quantize your data (from a vector of real numbers to a discrete integer value representing that vector) before you give it to the HMM algorithm for training or predict
- If you want your classifier to recognize several gestures then you should train an HMM for each gesture, for prediction you then pass your real-time data through each HMM and pick the HMM with the maximum likelihood
HMMs are great for recognizing temporal gestures if you have lots of data
- if you want to be able to train an HMM with just a few training examples then there are a few implementations designed for this, you could also use Dynamic Time Warping in this case. Here is a paper of my own on using DTW for the real time classification of temporal gestures:
Gillian, N., Knapp, R.B. and O'Modhrain, S. (2011) "Recognition of multivariate temporal musical gestures using n-dimensional dynamic time warping" in Proceedings of the 11th International Conference on New Interfaces for Musical Expression
Hopefully this is helpful.
Nick
Question
4 answers
I'm on a research work that will contribute to the advancements of digital forensics. The aim is to examine existing methods for image forgery detection, evaluate them and eventually develop a new approach that we hope would be robust enough against several types of image forgery at the same time. I'll need source codes in either C#, C++ or Phython to enable me hasten up in my research.
Relevant answer
Answer
I've done a few things in light inconsistencies detection (sorry, I cannot provide the code), but you might want to check Prof. Farid's work: http://www.dartmouth.edu/~tedx/hanyfarid/
Question
38 answers
Many papers refer to edges but I don`t now any references where edges are defined clearly and carefully. (For example one could differentiate between a depth edge, a material edge and a texture gradient.)
Relevant answer
Answer
Okay, so here are the edge current definitions:
- "the gradient in one direction is high, while the gradient in the direction orthogonal to it is low"
- "an edge can be defined as a set of contiguous pixel positions where an abrupt change of intensity (gray or color) values occur"
- "a pixel as edge if gradient is above a suitable threshold and some others within its selected surrounding area are similar as well"
- "Edges are significant local changes of intensity in an image"
All of them are based on image gradients and not on semantics.
In my humble opinion, these definitions are useless when it comes to applications, due to the following reasons.
1) An image of a white sheet of paper held before a white wall will contain an edge which is invisible to us. This is simply due to the projective nature of any imaging system, so given a regular RGB camera, the problem can never be solved. We cannot even find out whether we are missing such edges - humans can't do this either with their own visual system.
2) In case I now print a nice random texture on the paper, there are now gradients of many different orientations and magnitudes (by the way, computing a gradient on an image is a non-trivial task in itself). I personally would not consider these gradients (whatever size they have) as edges because I know they are on the surface of the actual object and contain no depth-discontinouties at all.
3) In case I scribble a text onto the sheet of paper, I will find nice and clear gradients which could be interpreted as edges. These edges however are not 3D-depth edges, they are just color edges. At this point it becomes difficult to decide what an edge is, because it very much depends on our application: in case we want to find physical 3D objects we will fail anyway, because we cannot deduce any depth from the described image. In case we consider an "object" to be an individual letter or word, edge detection will be an easy task.
4) Now consider material edges which contain no depth edges, curved physical objects which contain no abrupt depth changes, scenes containing depth but which are imaged from so far away that everything looks like a texture, scenes with content that violates the sampling theorem, etc.
I hope these example illustrate that the definition of the term "edge" in image processing, is task/application dependent. "Edge" in general implies a _semantic_ meaning and cannot be defined in terms of image properties.
On the other hand I can accept that due to these reasons, we might want to find a coarser definition of an "image edge" which is defined based on the image gradient.
Yet, if we do this, Zen seem to be the only feasible approach :)
Everything is an edge - nothing is an edge. It all depends on your current state of mind:
- An image without edges would have a constant color (and is therefore useless).
- An image with a single edge could consist of a single gradient with any slope.
- An image with as many edges as there are pixels is an image of white noise...
The main point why I asked the question to start with is because I think that we need to take more care about such definitions. Without such definitions we cannot define success of our research.
Question
7 answers
Can anyone recommend the materials (trying to develop in c OpenCV)?
Question
8 answers
I found an article (see link attached) which describes a method how to decrease oversegmentation while doing watershed. The method proposed really works for 8bit images, but I cannot implement it for 16bit ones, since I do not understand constants and even where the principle comes from.
Thank you in advance, if you help me on the question or recommend a likely method
Relevant answer
Answer
Actually, I don't know where the author got that from either; it seems they also spelled it wrong (It should be Weber not Webber). Perhaps it would be best to email the authors about it.
Question
3 answers
How do I identify a set of pixels from a buffer with complexity less than O(m x n)?
The buffer is RGBA color buffer and the property of target pixel set is it has zero alpha value but has some RGB value. Is digital signal processing technique useful for this job?
Relevant answer
Answer
See for example:
Bogdan Popescu, Andreea Iancu, Dumitru Dan Burdescu, Marius Brezovan, Eugen Ganea: Evaluation of Image Segmentation Algorithms from the Perspective of Salient Region Detection. ACIVS 2011: 183-194
Dumitru Dan Burdescu, Marius Brezovan, Eugen Ganea, Liana Stanescu: New Algorithm for Segmentation of Images Represented as Hypergraph Hexagonal-Grid. IbPRIA 2011: 395-402
Marius Brezovan, Dumitru Dan Burdescu, Eugen Ganea, Liana Stanescu, Cosmin Stoica Spahiu: An Adaptive Method for Efficient Detection of Salient Visual Object from Color Images. ICPR 2010: 2346-2349
Question
14 answers
I would like to know how to implement the basic concept of LBP operator with uniform patterns. I have implemented the basic concept of LBP operator in MATLAB. Now I am using the concept of uniform pattern.
The problem is that I am not able to understand the basic concept of LBP with uniform patterns. How exactly should it be done? Is there any documentation available which can help me?
Relevant answer
Answer
If you consider the standard LBP operator LBP_8_1, you can have 2^8 distinct values that a LBP can have. Should you create a histogram of these, you would have a 256 bin histogram. Now, should you consider their binary representation and consider only the ones with at most two jumps 0→1 or 1→0, you would have a total of 58 distinct ones (see the attached figure). If you create a histogram of these and place all others into a separate bin, you have a 59 bin histogram. Check out this paper and this figure for the details.
Question
4 answers
What are the different type of features that can be used for object detection and human detection?
Relevant answer
Essentially one can thing of features as a (mathematical) description of (a subset of) an image. As such, the entire field of image statistics comes into play here. This means, as the others have suggested, there is a nearly infinite set of features. Any mathematical way of summarizing some aspect of an image (or image sequence) counts. This takes you from the simple (intensity historgrams, spectral slope) to the complex (wavelets), from the specific (template matching of hand outlines) to the more general (edge detection). Many of these features bear a strong relationship to those that seem to be used by humans, others do not. Each is effective at something, nothing is effective for everything. As the other suggested, the features you want will depend on the subject matter (objects in general versus just human faces) as well as what you want to do with it (recognition versus matching versus segmentation).
Question
9 answers
I am interested in knowing the various statistical parameters used in image processing.One is PSNR and second is MSE. What others?
Relevant answer
Pay attention you can use different statistical parameters for different aims on image processing : for probabilistic description and classification of (different parts of) the images and for their quality estimation.
On one hand, you can use statistical parameters to caracterize the content of an image, its texture. Statistical methods can be further classified into first-order (one pixel), second-order (two pixels) and higher-order (three or more pixels) statistics . The basic difference is that first-order statistics estimate properties (e.g. average and
variance) of individual pixel values, ignoring the spatial interaction between image pixels, whereas second- and higher order statistics estimate properties of two or more pixel values occurring at specific locations relative to each other. So, first order measures are statistics calculated from the original image values, like variance, and do not consider pixel neighborhood relationships. Histogram based approach is based on
the intensity value concentrations on all or part of an image represented as a histogram. Common features include moments such as mean, variance, dispersion, mean square
value or average energy, entropy, skewness and kurtosis. Images can also be represented with high-order statistical parameters computed from co-occurrence or run-length matrices or from frequential approaches.
On another hand you can evaluate the quality of an image (after a filtering, a compression, etc.), with or without reference or with a reduced reference. PSNR, MSE, SSIM are quality metrics with reference (or fidelity metrics). but in recent state of the art there is a lot of quality metrics.
For more details on the two aspects of statistical parameters for image processing, you can read : Christine Fernandez-Maloigne, (Ed.)
Advanced Color Image Processing and Analysis
SPRINGER, Signals&Communications, 489 p., July 2012, ISBN 978-1-4419-6189-1