Estoy tratando de cambiar el tamaño y recortar una imagen usando ImageJ. Aquí está el código:
ImagePlus ip1 = IJ.openImage("_Pic.jpg");
ImagePlus ip2 = IJ.openImage("_Pic.jpg");
ImageProcessor imgP1 = ip1.getProcessor();
ImageProcessor imgP2 = ip2.getProcessor();
FileSaver fs1 = new FileSaver(ip1);
FileSaver fs2 = new FileSaver(ip2);
/* Trying to resize */
imgP1.resize(100); // also tried with width and height
fs1.saveAsJpeg("Resized.jpg");
/* Trying to crop */
imgP2.setRoi(100, 100, 200, 200);
imgP2.crop();
fs2.saveAsJpeg("Cropped.jpg");
Desafortunadamente, los archivos recién creados son idénticos al original.
Hasta ahora he descubierto cómo difuminar, suavizar, invertir, traducir, rotar, ..., pero estos dos me están dando problemas. ¿Alguien tiene una idea?
Su pregunta cruzada publicado en el foro ImageJ fue respondida allí por Stefan Helfrich:
Si echas un vistazo a los Javadocs para ImageProcessor , verás que
resize()
además decrop()
devolver nuevasImageProcessor
instancias y no operarthis
. Es por eso que tendrá que usar elImagePlus.setProcessor(ImageProcessor)
método para agregar los ImageProcessors devueltos aip1
yip2
.
Al realizar publicaciones cruzadas como esta, incluya siempre enlaces a las otras publicaciones, para que las personas que encuentren esta pregunta más adelante tengan la oportunidad de seguir la discusión.
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras