binary image registration

  • Permalink
  • submit to reddit
  • Email
  • Follow


hi all:

i need some advice on how to register two binary images. i will use a rigid transformation (translation, rotation and scale) for that purpose. i am used to register grayscale images but now things are very different. 

i used to code a cost function, define the transformation model and then let, for instance, fmincon get the optimum. 

for my present goal i tried the same approach, but when it comes to interpolate the image to register for the cost function value calculation, i could not use linear or bicubic it wouldn't make sense having, for example, .5 bit values...  so i changed the interpolation method to nearest but other problems appeared. i could not make fmincon to vary the optimization variable so it would check the cost function value somewhere else besides the on its initial value. besides this, due to the nearest interpolation method, i don't know if it is very orthodox to use fmincon on a non differentiable cost function. 

i would appreciate comments on this, references and anything you would like to add.

thanks in advance

mut
0
Reply mutante51 (114) 12/2/2008 12:29:02 PM

See related articles to this posting


> but when it comes to interpolate the image to register for the cost function value calculation, i could not use linear or bicubic it wouldn't make sense having, for example, .5 bit values...  

Why not? The interpolation is only meant to serve the registration operation.

In any case, some non-iterative methods you might want to try, discussed in previous threads, are based on the Fourier and Radon transforms ( the latter requires the Image Proc. Toolbox)

If your two images are X and Y, then you can estimate the rotation by comparing

abs(fft(radon(X))) 
abs(fft(radon(Y)))

One of them will appear shifted with respect to the other in an amount corresponding to the rotation angle. By measuring the shift using your favorite method (e.g. cross-correlation), you get an estimate of rotation. 

After undoing rotation, you can like at the phase plots to get the translation

angle(fft2(Y)/fft2(X))

or you can do a centroid measurement.

Another way to estimate rotation is to calculate an edge map of your two images and take their gradient vectors [gx,gy]using diff(). If you then histogram the angles of the gradient vectors atan2(gy,gx), you will see a shift in the histogram of one image with respect to the other. The shift again corresponds to the rotation angle and can again be extracted using your favorite method.




0
Reply mjacobson.removethis (562) 12/2/2008 2:51:02 PM
comp.soft-sys.matlab 203508 articles. 529 followers. Post

1 Replies
278 Views

Similar Articles

[PageSpeed] 18


  • Permalink
  • submit to reddit
  • Email
  • Follow


Reply:

Similar Artilces:

Image to Image Registration
I am currently working with Image to Image Registration using Fourier technique, can some body help to me convert a tiff image into a log polar image as it is required to recover the rotation that is one of the parameters in image to image registration. ...

Binary Image to Indexed Image to RGB Image
How will we convert binary image to indexed image? And then the indexed image to RGB image in Matlab? ...

Please Help !!! Can anyone give me some ideas on how to convert binary/greyscale images into binary images ??????
I just need some helps here because I'm a new user for MATLAB 7.I don't know how to convert a decimal/greyscale images into binary form of images ( 1 or 0 ).I really need some guides as soon as possible.This is very important for me.Thank you for any guides and helps. Andres wrote: > > > I just need some helps here because I'm a new user for MATLAB 7.I > don't know how to convert a decimal/greyscale images into binary > form > of images ( 1 or 0 ).I really need some guides as soon as > possible.This is very important for me.Thank you for any guides and &g...

Binary image for HSV image
dear all, i'm trying to convert a colourful image into different binary images for each of its colour. how can i read a HSV image and determine how many level of hue exist in that image? then display it according to its binary images for each hue level. thanks of your help Deric Law wrote: > > > dear all, > > i'm trying to convert a colourful image into different binary > images > for each of its colour. > > how can i read a HSV image and determine how many level of hue > exist > in that image? > then display it according to its binary images for...

[medical imaging]image registration
Hi all. I'm just started to working at my master tehsis on medical imaging. I've sone high resolution image from a skin lesion, but the focal laser being used to acquire them does not give an image that cover the entire lesion region. Every image is a relative to a specific region. I'd like to know if there are some publication/algorithms about registering the various image into one big image that fully cover the skin lesion. Thanks in advance. P.S. The images have large overlapping region. ...

Image registration/averaging and image quality
1) In the ideal case the registration and averaging of, for instance 150 individual 8bit noisy images will improve SNR by log10(n x 256), and the dynamic range from ~2.4 to ~4.6. However, when aligning low SNR images, the match is not always perfect (or rather, it is almost never perfect). Under such circumstances how does one model the change in SNR. 2) Is there a better metric to characterize the improvement in resolving power, or resolution, when registering and averaging multiple frames Thanks! Piotr wrote: > 1) In the ideal case the registration and averaging of, for instance >...

Image registration/averaging and image quality
1) In the ideal case the registration and averaging of, for instance 150 individual 8bit noisy images will improve SNR by log10(n x 256), and the dynamic range from ~2.4 to ~4.6. However, when aligning low SNR images, the match is not always perfect (or rather, it is almost never perfect). Under such circumstances how does one model the change in SNR. 2) Is there a better metric to characterize the improvement in resolving power, or resolution, when registering and averaging multiple frames Thanks! > 1) In the ideal case the registration and averaging of, for instance > 150 individua...

Converting images to binary images problem.....
I just need some helps here because I'm a new user for MATLAB 7.I don't know how to convert a decimal/greyscale images into binary form of images ( 1 or 0 ).I really need some guides as soon as possible.This is very important for me.Thank you for any guides and helps. Andres wrote: > I just need some helps here because I'm a new user for MATLAB 7.I > don't know how to convert a decimal/greyscale images into binary form > of images ( 1 or 0 ).I really need some guides as soon as > possible.This is very important for me.Thank you for any guides and > helps. >...

Image registration/averaging and image quality
1) In the ideal case the registration and averaging of, for instance 150 individual 8bit noisy images will improve SNR by log10(n x 256), and the dynamic range from ~2.4 to ~4.6. However, when aligning low SNR images, the match is not always perfect (or rather, it is almost never perfect). Under such circumstances how does one model the change in SNR. 2) Is there a better metric to characterize the improvement in resolving power, or resolution, when registering and averaging multiple frames Thanks! > 1) In the ideal case the registration and averaging of, for instance > 150 individua...

How to convert RGB image into a binary image ?
Hi everybody, I need to convert a RGB image into a binary format image. I would be grateful if any one could help me. With best regards, Hassan msbstar writes: > I need to convert a RGB image into a binary format image. I would be grateful if any one could help me. An RGB image *is* a binary format image. What exactly are you trying to do? What do you imagine a binary format image is? Cheers, David -- David Fanning, Ph.D. Fanning Software Consulting, Inc. Coyote's Guide to IDL Programming: http://www.idlcoyote.com/ Sepore ma de ni thue. ("Perhaps t...

image registration or "Image fusion
Dear All Right now i am in a real confusion and we were adding the Image Registration and Image Fusion in Dicom viewer. Can some one basically tell me how fusion work And it would help me in corporating. there are different type of fusion , color fusion,plane fusion. with regards DICOM_TESTER ...

Hide binary image inside another Image
Code you please help me how can I hide binary image inside another image "gray image"? I need function do it or code.. Thank you with my best regrades ...

Deformable image registration (non-rigid registration)
I'm planning to start the deformable image registration using MATLAB. I'm making a search about it, however, there is little technical information, and I'm beginner both of MATLAB and registration. I would appreciate receiving any comments or suggestions. Thank you, Yamamoto ...

Converting binary image back to intensity image
I know that im2bw creates a binary image but how do I go the other way? I have a binary line drawing that I would like to convert to gray scale so that I can do some smoothing. Thanks, Erik Erik J´┐Żlevik wrote: <SNIP I have a binary line drawing that I would like to convert to gray scale so that I can do some smoothing. one of the many possible approaches % get some data load clown; X=X./max(X(:)); % ]0 1[ % create a binary/logical image bimg=im2bw(X,.5); % ... and simply typecast it for % ... further use gimg=double(bimg); % lets filter it smoothly f=[...

Watershed for binary images (images Black and White)
Good Morning, do you know where I can find a Matlab code for performing the WATERSHED SEGMENTATION on binary images (images black and white, not gray level images)? I'm looking for a function similar to the one implemented in ImageJ, that works with binary images and perform a segmentation simply plotting lines between connected white objects on a black background. Thank you, Filippo Piccinini "Filippo Piccinini" <f.piccinini@unibo.it> wrote in message news:kuvtvf$h24$1@newscl01ah.mathworks.com... > Good Morning, > > do you know where I can fin...

raw image data to binary image data
Hi MATLAB newsgroup I have a bunch of 128 x 128 x 128 16bit-integer raw data images taken by a NMR scanner. I will hopefully be using a program to register the images. But the program I am using requires the images to be in a 32bit float binary image file. So I would need to convert the images from 16bit integer raw data to 32bit float binary data Is this conversion possible in MATLAB? If it is possible, could anyone lead me in the right direction to as how I could make this conversion (i.e helpful functions and/or pseudo-code)? Any help would be appreciated, Trevor On Sat, 23 May 2009 00...

image prcessing,E M algorithm for binary image
hello ,i am doing a project in image processing in matlab (wrapper based segmentation and classification IEEE 2005) i want to implement E M algorithm for graylevel (binary) image but not sucess plz if any one know help me and send code on laltujhaanna@gmail.com ...

Crop grayscale image from binary image edge extracion
i have a grayscale image, whic its has preprocessing before into binary image, so i get a pattern from edge extraction in my binary image, and then i just want to crop grayscale image based on pattern in BW? its a link will help you to explain my question, i was stack on picture 1E, and dont know to process 1F http://www.mediafire.com/i/?unk4p3ff5wmsoiy ...

can we get the rgb image after multiply with binary image
can we get the rgb image after multiplying with binary image ????? or, using 'and' operation with rgb image with binary image???????? or, using masking n tell me how????????? Plz write the code for that thanx manish sharma manisharma2009@gmail.com % Mask image must be converted to the same integer type % as the integer image we want to mask. mask = cast(binaryImage, class(rgbImage)); % Extract the individual red, green, and blue color planes. redPlane = rgbImage(:, :, 1); greenPlane = rgbImage(:, :, 2); bluePlane = rgbImage(:, :, 3); % Do the masking. maskedRed ...

Fast Fourier Transformtation to Automatic Image-Image Registration
Hi, Where I getting articles about this question. (i) How use the Fast Fourier Transformation - FFT for Automatic Image / Image Registration? Tanks. ...

Converting Binary images/Grayscale images to move frames
I am trying to read in a movie, analyze it, and then write it back out. Mainly I want to threshold the movie. After I read in the movie and then analyze the frame, the resulting image is a binary image. When I try and call im2frame, I get the error: ??? Error using ==> avifile.addframe at 86 FRAME must be of either double or uint8 precision I have also tried passing in a graymap with the binary image like this: mov = im2frame(bw,gray(256)); ??? Error using ==> im2frame Can only make movie frames from image matrices of type double or uint8 But as you can see I get the same error. ...

matlab command for converting binary image to color image
hi, anybody knows matlab command for converting binary image to color image ? I have searched in help, but i m unable to locate it. subramanya wrote: > > > hi, > anybody knows matlab command for converting binary image to color > image ? > > I have searched in help, but i m unable to locate it. In order to change current pixel color to another color for the whole image, create your own colormap. For example if the image is black and white (binary matrix), you can convert white pixels into red pixels by executing a code similar to the following: I = eye(100); imshow(I);...

how to get RGB image after multiplying RGB and binary images
I tried the matlab codes mask = cast(binaryImage, class(rgbImage)); % Extract the individual red, green, and blue color planes. redPlane = rgbImage(:, :, 1); greenPlane = rgbImage(:, :, 2); bluePlane = rgbImage(:, :, 3); [rows columns numberOfColorChannels] = size(redPlane); [rows columns numberOfColorChannels] = size(mask); whos redPlane whos mask % Do the masking. maskedRed = redPlane .* mask; maskedGreen = greenPlane .* mask; maskedBlue = bluePlane .* mask; % Combine back into a masked RGB image. maskedRgbImage = cat(3, maskedRed, maskedGreen, maskedBlue); ...

Converting from 8bit binary image to rgb image within Labview
Hello &nbsp; I am having trouble converting from a 8bit binary image to rgb image within Labview. I have tried using image to array and array to image but I'm new to labview and am having problems.I am having problems setting up a 2d array with i think the conversion needs.&nbsp;I would be very greatful if someone has code to do this or could help me. &nbsp; Thanks, &nbsp; Sean Thanks for reply. Its an 8bit binary image that I'm trying to convert to a colour image. I think I should use image to array and array to image but I'm not sure how to make a 2d array and c...