Posted by
hector.longarte on
Dec 12, 2008; 4:27pm
URL: http://imagej.273.s1.nabble.com/Reusing-Make-Binary-and-Skeletonize-methods-tp3694262p3694264.html
Thanks for the response Wayne,
After I run the command I catched the image as BufferedIamge but this Image
is noised and has no significant signature. I dont know what is wrong...
// This method binarizes the signature...
public BufferedImage umbralizarFirma(BufferedImage firma) {
Prefs.blackBackground = false;
ImagePlus imp;
imp = new ImagePlus("firmaOriginal", firma);
IJ.runPlugIn(imp,"Make Binary","");
BufferedImage bf = (BufferedImage) imp.getImage();
return bf;
}
Could you please give your mail so I can send the check image to you and
then you run the code as I do to figure out what is wrong?
Thank you very much
Best regards
Hector Longarte
2008/12/12 Wayne Rasband <
[hidden email]>
> On Dec 12, 2008, at 9:11 AM, Hector Longarte wrote:
>
> Hello Imagers,
>> I need help with this: I need to use the plugins of imageJ in my
>> application with the command for Make binary:
>>
>> *IJ.runPlugin(imp,"ij.plugin.Thresholder", "Make Binary");*
>>
>> And skeletize it...
>> *IJ.runPlugIn(imp,"ij.plugin.filter.Binary", "Skeletonize"); *
>>
>> But the image I get appears noised all times,may be I am missing some
>> parameter?
>>
>
> The only parameter used by the "Make Binary" and "Skeletonize" commands is
> the "Black Background" flag that is set in the Process>Binary>Options dialog
> box. Run this code
>
> Prefs.blackBackground = true;
> IJ.run(imp, "Make Binary", "");
> IJ.run(imp, "Skeletonize", "");
>
> and the image ('imp') and will be converted to an 8-bit image with a white
> skeleton on a black background. Run this code
>
> Prefs.blackBackground = false;
> IJ.run(imp, "Make Binary", "");
> IJ.run(imp, "Skeletonize", "");
>
> and you will get a black skeleton on a white background. In both cases the
> background will be zero, but the image with a white background will have in
> inverting lookup table.
>
> -wayne
>
>
>
>> I am copying here the classes I am writting ..
>> If someone can help me I will send the image of the check to personal mail
>> because this list does not accept attached files ...
>>
>> Thank you very much if someone may help me..
>>
>> *Class for the preprocessing:*
>>
>> package com;
>> import ij.IJ;
>> import ij.ImagePlus;
>> import java.awt.image.BufferedImage;
>>
>> public class Preprocessing {
>>
>> // Binarizacion...
>> public BufferedImage umbralizarFirma(BufferedImage firma) {
>> ImagePlus imp;
>> imp = new ImagePlus("firmaOriginal", firma);
>> IJ.runPlugIn(imp,"ij.plugin.filter.Binary", "Make Binary");
>> BufferedImage bf = (BufferedImage) imp.getImage();
>> return bf;
>> }
>> // Skeletonize...
>> public BufferedImage skeletonFirma(BufferedImage firma) {
>> ImagePlus imp;
>> imp = new ImagePlus("firmaOriginal", firma);
>> IJ.runPlugIn(imp,"ij.plugin.filter.Binary", "Skeletonize");
>> BufferedImage bf = (BufferedImage) imp.getImage();
>> return bf;
>> }
>> }
>> ------------------------------
>> ----------------------------------------------------------
>> *Main class:*
>> package com;
>> import java.awt.image.BufferedImage;
>> import java.io.File;
>> import javax.imageio.ImageIO;
>> import com.Preprocessing;
>>
>> public class Director {
>> private BufferedImage imagen;
>>
>> //Constructors...
>> public Director(String imagen) throws Exception {
>> this.imagen = ImageIO.read(new File(imagen));
>> }
>> public Director() { }
>>
>>
>> // Write image to disk...
>> public void guardarImagen(String nombreResultado) {
>> try {
>> ImageIO.write(imagen, "jpg", new File(nombreResultado));
>> } catch (Exception e) {
>> e.printStackTrace();
>> }
>> }
>>
>> public static void main(String[] args) throws Exception {
>>
>> // Load the check and cut the signature...
>> Director imagenCheque = new Director("c:/chequeAnverso.bmp");
>>
>> Director imagenFirma = new Director();
>> System.out.println("*** Recortando desde el pixel 370,138 ...");
>>
>> imagenFirma.imagen = imagenCheque.imagen.getSubimage(370, 138,322,
>> 135);
>> imagenFirma.guardarImagen("c:/firma5.bmp");
>>
>> // Binarize the signature...
>> Preprocessing binarize = new Preprocessing();
>> imagenFirma.imagen = binarize.umbralizarFirma(imagenFirma.imagen);
>> imagenFirma.guardarImagen("c:/firmaBinarizada5.bmp");
>> System.out.println("*** Firma binarizada...");
>>
>> // Skeletonize the signature...
>> imagenFirma.imagen = binarize.skeletonFirma(imagenFirma.imagen);
>> imagenFirma.guardarImagen("c:/firmaSkeleton5.bmp");
>> System.out.println("*** Firma skeletionized...");
>> }
>> }
>>
>>
--
Hector Longarte