imageJ中文开发教程
imagej的使用方法

imagej的使用方法
ImageJ是一款功能强大的图像处理软件,可以帮助用户轻松地进行图像的测量、分析、编辑等操作。
本文将指导用户如何使用ImageJ来处理图像。
首先,用户需要下载ImageJ软件,然后将图像导入ImageJ中。
用户可以选择从本地文件夹中导入图像,也可以从网络中导入图像,比如URL、FTP等。
接下来,用户可以通过ImageJ的图像处理功能对图像进行处理。
用户可以根据自己的需要调整图像的亮度、对比度、饱和度等参数。
此外,ImageJ还支持用户对图像进行滤镜处理、裁剪、旋转和缩放等操作。
同时,ImageJ还支持用户对图像进行测量和分析。
用户可以通过ImageJ的测量工具来测量图像中的面积、长度和角度等信息。
此外,ImageJ还拥有强大的图像分析功能,可以帮助用户分析图像中的细节信息,提取出图像中的特征和目标。
最后,用户可以通过ImageJ对图像进行编辑。
ImageJ提供了大量的编辑工具,可以帮助用户轻松添加文字、图标、标签等内容,以增加图像的可读性。
总之,ImageJ是一款强大的图像处理软件,可以帮助用户轻松地
进行图像的测量、分析、编辑等操作。
通过本文的指导,用户可以轻松地使用ImageJ来处理图像。
imageJ功能简单解析

1Image Types and Formats1.1>image>type(此子菜单确定图像的类型或将其转换为另一种类型,所支持的转换如下)1.1.18-bit转换为256(28)个灰度级别的图像(只有整数)1.1.216-bit转换为65,536(216)灰度级别的图像(仅限整数)1.1.332-bit转换为4,294,967,296(232)灰度(实数)的图像,像素由浮点值表示(RGB图像转换为灰度使用灰色的公式=(红+绿+蓝)/ 3或灰色= 0.299×红色+ 0.587×绿色+ 0.114×蓝色)1.1.48-bit color 用Heckbert’s median-cut color quantization algorithm将图像转换为8位RGB彩色图像1.1.5RGB color 转换为32位RGB彩色图像将一张彩色图像分解为三张不同类型的彩色:1.1.6RGB stack 转换为3层(红、绿、蓝)堆栈1.1.7HSB stack 转换为3层(色相、饱和度和亮度)堆栈1.1.8Lab stack ()1.2>image>adjust(此子菜单包含调整亮度/对比度、阈值级别和图像大小的命令)对于8位图像,通过更新图像的查找表(lookup table,LUT)来改变亮度和对比度,像素值不变。
对于16位和32位的图像,通过将像素值映射到8位来显示,像素值也保持不变。
RGB图像通过修改像素值来改变RGB图像的亮度和对比度1.2.1Brightness/Contrast实质是对图像直方图调节(1)minimum和maximum分别改变图像的最小值和最大值,来修改图像的像素值范围(2)brightness和contrast分别修改直线的斜率和截距来改变图像的亮度和对比度(直线意义)1.2.2Window/Level实质和B&C的亮度和对比度调节相同1.2.3Color Balance对red,green,blue,cyan,magenta,yellow,all共7种颜色选项进行minimum、maximum和brightness调节1.2.4Threshold(only for grayscale images)设置较低和较高的阈值,将灰度图像分割成感兴趣的特征和背景(对灰度图像直方图进行分割)共16种阈值选取方法,3种展示方法1.2.5Color Threshold基于色相饱和度和亮度(HSB)、红绿蓝(RGB)、Lab或YUV的24位RGB图像阈值,分割图像共16种阈值选取方法,3种展示方法1.2.6Size缩放到指定的宽度和高度(以像素为单位)可选择保持原来的长宽比可选择在缩小图像大小时检查平均值,以获得更好的结果。
Image J官方简体中文快速 入门指南

ImageJ 入门by tree_cmu 2011-10-201 Image J 是什么?ImageJ是一个基于java的公共的图像处理软件,它是由National Institutes of Health开发的。
可运行于Microsoft Windows,Mac OS,Mac OS X,Linux,和Sharp Zaurus PDA等多种平台。
其基于java的特点,使得它编写的程序能以applet等方式分发。
ImageJ能够显示,编辑,分析,处理,保存,打印8位,16位,32位的图片,支持TIFF, PNG, GIF, JPEG, BMP, DICOM, FITS等多种格式。
ImageJ支持图像栈(stack)功能,即在一个窗口里以多线程的形式层叠多个图像,并行处理。
只要内存允许,ImageJ能打开任意多的图像进行处理。
除了基本的图像操作,比如缩放,旋转,扭曲,平滑处理外,ImageJ还能进行图片的区域和像素统计,间距,角度计算,能创建柱状图和剖面图,进行傅里叶变换。
[1]2 ImageJ可以做什么?概括一下,主要分为以下几个方面:A)图像的区域和像素统计(大小)。
长度,角度。
阳性点密度和数量B)光密度或辉度,并制备密度直方图和线性图。
C)两种蛋白共定位的程度(丁香园有篇专门介绍帖子/bbs/thread/18145886?keywords=image%20J#18145886)D)卷积,Sholl分析,傅里叶分析(这些还不会使用)E)更多功能3 Image 界面[2]界面分为:菜单栏,工具栏和状态栏。
菜单栏菜单栏从左至右分别是:文件,编辑,图形,处理,分析,插件,窗口,帮助。
文件和office word 等软件类似,主要有文件打开,关闭,保存等功能,比较特殊的一个功能是恢复功能(revert),可以直接回到上次保存过的状态。
由于编辑菜单里的取消功能(undo)只能回退一步,所以revert有时会很有帮助。
ImageJ基础操作:给图片添加文字和标注

ImageJ基础操作:给图片添加文字和标注对图片添加标注和文字是科研图片处理中一个非常基础的操作,Image J也可以进行这方面的处理。
01利用描边和填充添加在绘制好选区(几乎只会用到箭头工具)之后选择:Edit-Draw (描边,快捷键Ctrl+D),使用事先设定好的颜色和粗细进行绘制;也可以填充设定好的颜色Edit-Fill(填充,快捷键Ctrl+F)。
文字工具也是如此,在输入文字之后,选择Edit-Draw,可以盖印到原来图片上。
如果要修改颜色、字体、粗细等绘图属性,可以选择Edit-Option-Colors/Fonts/Line Width…进行修改。
当然,其中一些选区工具如Arrow T ools(箭头工具)可以直接双击该工具修改其绘图属性。
颜色的修改还可以双击工具栏中的Color Picker(拾色器)来修改:当然,Fiji也提供简单的绘图工具,包括Pencil Tool(铅笔工具)、Paintbrush T ool(画笔工具)、Flood Fill Tool(填充工具)和Overlay Brush T ool(浮层画笔工具),可以直接或者以Overlay的形式在图片上面进行涂鸦,但是科研图片处理中基本用不到。
每个工具都可以双击进行属性修改。
02 利用ROI Manager添加也可以将标注(文字和箭头等)以选区的形式保存到选区管理器(ROI Manager)里面,勾选Show All,然后利用拼合图层(Flatten)来盖印生成新的图片。
注意:会新生成一个添加了标注的图片。
03 利用Overlay图层添加在利用选区工具和文字工具做好标注之后,还可以使用Image-Overlay-Add Selection(快捷键是Ctrl+B),来建立Overlay图层,最后直接导出成非tif格式图片,获得标注后的图片。
或者建立Overlay图层之后,利用ROI Manager的拼合图层(Flatten)在本图层盖印,再导出成各种位图格式。
Image j 基本操作

Image j 基本操作imagej菜单栏列出了ImageJ的所有命令,它包含八个菜单:File:基本的文件操作,包括打开、保存、创建新图片,大多数命令看名字就知道什么意思Edit:编辑和绘制操作,以及全局设定Image:图像显示,包括图像格式的转化、怎样显示等Process:图像处理,包括点操作、过滤器和算术运算Analyze:图像分析,统计测量、直方图绘制和其他与图像分析有关的操作Plugins:创建、编辑和管理插件,列出了用户安装的所有宏、脚本和插件。
Window:已打开的窗口的选择和管理Help:升级,文档资源和版本信息File菜单New新建可以新建的东西有很多:Image:可以指定图片的标题、类型、尺寸、初始填充。
且如果Slices大于1,则创建了一个stackHyperstack:与Image-Hyperstacks-New Hyperstack相同Text Window:创建一个编写宏的文本窗口Internal Clipboard:打开ImageJ内部剪贴板中的内容System Clipboard:打开系统剪贴板中的内容TrakEM2:Fiji中还加入了编写TrakEM2程序Script:Fiji中还加入了新建脚本。
Open打开可以打开的东西也有很多:常见图片,后缀有TIFF、GIF、JPEG、DICOM、BMP、PGM和FITS格式。
也可以通过插件打开额外的后缀的图片ImageJ和NIH的图片查询表,后缀是.lut以制表符分割的表格,后缀是.xls和.csv选区,后缀是.roi和.zip文本文件,后缀是.txt、.ijm、.js和.java其他Open Next打开下一个关闭当前图片,打开目录中的下一个图片(如果有的话)。
按住Alt打开目录中的前一个图片(如果有的话)。
Open Samples打开样例打开ImageJ服务器上的样例图片,可以用来测试宏、脚本、插件等。
Open Recent打开最近文件子菜单会显示最近15个打开的文件,可以选择其中一个。
imagej软件使用教程合辑

imagej软件使用教程合辑强大的自动阈值选择插件Robust Automatic Threshold Selection (RATS) computes a threshold map for a 2d image based upon the value of pixels and their gradients. The algorithm is applied across regions of the image making it suitable for thresholding noisy images with variable background.Load an single channel image (8-bit, 16-bit or 32-bit). Note that the plugin expects bright objects on dark background, so you might want to callEdit ? Invert if your input image has dark objects. Select the RATS plugin from the Plugins menu. The following dialog will appear:1. NOISE THRESHOLD: An estimate of the noise. Estimate the noise by selecting a "background" portion of the image and using ImageJ to determine the standard deviation of gray values. Oddly, lower values yield smaller particles in general. (see reference, defaults to 25).2. LAMBDA FACTOR: A scaling factor. Higher values yield larger particles. (see reference, defaults to 3)3. MIN LEAF SIZE (pixels): The smallest allowed leaflet (defaults to attempts to create up to 5 levels of quadtrees that fit in the input image dimensions)4. VERBOSE If set then output informational messages in the log window (default is false).That's it! A bilevel image is produced with the name "-mask" appended to the original image name.。
生物图片数据处理教程1——ImageJ

Digital Image Processing is a textbook covering many aspects of digital image
processing, with code examples built with ImageJ.
4
Why ImageJ?
Brightness/Contrast /Color
6
1. Contrast adjustment
Questions: Do the pixel values change after brightness/contrast adjustment? How to compare the signal intensity of different images?
13
Filtering
14
Sharpening
A sharpening filter can be broken down into two steps: It takes a smoothed image, subtracts it from the original image to obtain the "details" of the image, and adds the "details" to the original image. Step 1: Original - Smoothed = "Details"
power” of the gamma value
and then scaled to 8-bits or the min
and max of 16-bit images
9
1. Contrast adjustment (MATLAB)
image j中文使用方法

ImageJ这套软件可以自动帮你你计算细胞数,也可以定量分析DNA电泳或是Western blot条带。
step 1.首先打开软件后,开启图档ImageJ这套软件可以自动帮你你计算细胞数,也可以定量分析DNA电泳或是Western blot条带。
step 1.首先打开软件后,开启图档step 2.请先做校正,选择Analyze底下的Calibrate选项,再选择校正的模式,使用Uncalibrate OD,再按ok按下ok之后会出现校正的图形Step 3.在要分析的第一条(first lane)加上一个长型框(工具列第一个选项),再按下Analyze/Gels/select first Lane快速键(Ctr+1),此时框架中会出现一个号码1,之后可以移动框架到第二个lane再选择Analyze/Gels/select second Lane快速键(Ctr+2),当然可以一直加下去,最后按Analyze/Gels/plot Lanes快速键(Ctr +3)。
Step 4.分析以后会出现图型表示你刚选择的框内的影像强度,此时可以看到有几个比较高的区段,就是我们想定量的band,使用直线工具(工具列第五个选项)先将图形中高点为有band的区域和没有band的区域分开再,使用魔术棒工具(工具列第八个选项)点选要分析的区域。
Step 5.当我们点选分析时,在result的对话视窗会出现分析的数据,依序点选就会出现每个band的值。
注:当我们选择分析的条带也可以是横向选取,就可以只比较相同大小的DNA 的含量,同样也可以应用在western blot或其它类似实验条带的分析上。
使用ImageJ 分析图像中的颗粒数[] 原创教程,转载请保留此行1,到本站资料下载-实用小工具栏目下载 ImageJ 并安装。
2,打开ImageJ并打开要分析的图片。
请看演示图片。
3,把图像二值话或者设定阈值。
选择Image - Adjust - Threshold...根据提示设定你需要的阈值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ImageJ开发教程(苑永超整理,仅供参考,勿作商业用途)目录一、ImageJ简述 (2)二、ImageJ内部结构 (3)三、ImageJ通过插件扩展功能的方法 (4)三、插件编辑、编译、运行与部署 (6)四、主要的包介绍 (8)五、重要类方法介绍 (10)1、创建图象和图象栈 (10)2、创建图象处理器 (11)3、载入和存储图象 (11)4、图象参数 (11)5、操作像素 (11)6、图象转换 (12)7、直方图与图象统计量 (12)8、点运算 (12)9、滤波器 (13)10、几何运算 (13)11、图形运算 (14)12、显示图象和图象栈 (14)13、图象栈上的操作 (15)14、感兴趣的区域 (16)15、图象属性 (17)16、用户交互 (17)17、插件 (18)18、窗口管理 (19)19、其他函数 (19)六、学习资源 (20)ImageJ官网(/ij/index.html)上有英文的用户手册和教程,以及一些例子。
本教程主要是为看英文比较累的朋友提供一些快速的入门。
如果想在ImageJ上开发自己的图象处理算法,建议先熟悉java编程知识。
本教程基本不对ImageJ菜单中提供的各种文件操作、图象编辑、图象处理、图象分析等功能作详细介绍,请读者自行探索;也不准备介绍数字图象处理的各种算法和操作,本文假定读者是图象处理方面的专业人士,本教程的重点是如何进行二次开发,如果不特别指出,文中的部分内容和例子都为ImageJ软件包自带或采自相关书籍(如《数字图像处理-java语言描述》),中文注释是后加的。
一、ImageJ简述图象处理的流程无外乎就是打开图象数据文件,将图象数据加载到内存,然后对该内存中的图象数据进行一系列处理(分割、检测、滤波、合成、识别、显示等等),最后可能还需要将处理结果保存成某种格式的文件。
对于一般的用户来说,类似ACDsee之类的傻瓜式的软件足够了。
但是科学人士除了希望有广泛的、成熟的处理算法库可以直接调用外,一般还希望开发自己的特有的图象处理算法、特有的图象处理步骤、甚至特有的交互过程。
ImageJ就是这样的工具软件。
ImageJ是基于Java的,ImageJ在设计上实现了一个可以扩展的基本框架,开发人员可以通过其提供的接口来扩展图象处理功能。
ImageJ提供了很多现成的功能,这些功能可以通过菜单来调用,也可以调用相应的类的方法的API。
用户只要按照接口要求开发好自己的处理模块,并按照要求部署和配置,Image就可以自动加载和调用。
ImageJ是完全开源和免费的,特别适合教学和科研。
其关键的特征有:1、在菜单上集成了一系列的交互式工具,用于创建、加载、编辑、分析、处理、保存图象,支持常见的图象文件格式。
目前,ImageJ主菜单上的集成的主要功能:! File: 打开、保存、创建新的图象文件。
! Edit:图象的编辑和绘制操作。
! Image:图象的修改、转换、几何操作。
! Process:图象的点运算、滤波器、以及多幅图象之间算法操作。
! Analysze:对图象数据进行统计分析、用直方图或其他格式显示出来。
! Plugin:编辑、编译、执行、管理用户自己定义的插件。
2、提供简单的插件机制,帮助开发人员专注于自己的图象处理过程的开发,从而扩展ImageJ的功能。
3、提供宏语言或javascript脚本以及解释器,可以通过组合现有的函数,来实现客户化的处理过程。
这种方式不需要用户具有Java知识。
此外还有一些使用其他脚本语言扩展的方式。
用户要想在ImageJ的基础上扩展自己的图象处理功能、进行二次开发,需要了解Image内部结构。
二、ImageJ内部结构图1 ImageJ图象及图象栈的内部表示上面是一个ImageJ的内部结构图,我们结合该图以“打开并显示一个图象”的功能为例说明一下ImageJ的工作原理:1、首先创建一个打开文件类FileOpener对象,并调用其Open方法。
2、该Open方法首先从图象文件中读取像素数据,并放到数组pixels[]中。
3、随后创建一个ImagePlus的对象。
如图所见,这个对象成员中包含有一些指针,指向其他对象:! 一个图象处理器对象ImageProcessor的子类:该对象主要是提供对当前图象数据的处理操作。
(像素数据保存有对应的像素数组pixels[])。
! 一个图象栈对象ImageStack:用来保存多幅图象数据或图象处理的中间数据。
! 文件信息类对象fileInfo:存有图象的尺寸、位深度等的相关信息。
! AWT的图象对象类img:通过操作将图象数据映射到Image对象上,实现图象的显示。
! Frame窗口类的子类对象ImageWindow:实现对图象窗口的管理。
上述这些对象在FileOpener对象的open方法中创建,并赋予ImagePlus中的相应成员:ip,stack,fileInfo,img,win。
4、如果该图象需要显示,则调用ImagePlus的show方法。
该方法调用图象处理器对象ip的createImage()方法创建和图象数组数据对应的图象类Image对象。
并将img指向它。
然后创建ImageWindow窗口。
设置窗口画布、窗口布局等。
最后通过ImagePlus的draw()方法调用完成绘制。
切记:FileOpener的open()方法返回的是对应的ImagePlus对象。
通过该对象,我们可以毫不费力地找到上述相关的对象,尤其是拥有众多图像处理操作和算法的ImageProcessor,调用需要的方法,从而快捷地完成我们的工作。
三、ImageJ通过插件扩展功能的方法插件是一种小型的程序模块,该模块遵循简单的标准化接口,可以被集成到软件框架中,从而扩展宿主软件的功能。
ImageJ的许多内置的图象处理功能也是通过插件来实现的。
这里所谓的简单的标准化接口其实就是Java的接口类。
ImageJ提供如下三种不同的接口插件:! PlugIn:启动该插件时不需要打开一幅图象! PlugInFilter:启动该插件时,需要传递给该插件一幅打开图象的指针。
该插件的操作将施加在该图象上。
! PlugInFrame:该插件可以扩展一个独立的操作交互界面。
很显然,通过PlugIn扩展的插件,如果要处理图象,则需要自己去处理获取图象数据,这可以通过获取一个已经被打开的图象文件的指针、自己打开或新创建一个图象文件并获取指针,或直接在内存中开辟图象数据的方式实现。
该方式的自由度很高。
该接口的用法示例如下:// 对话框打开并显示一个图像文件import ij.plugin.*;import ij.plugin.frame.*;import ij.*;public class T est_PlugIn implements PlugIn {public void run(String arg) {Opener xx = new Opener();;xx.open()}} // end of class用户要实现该接口的run方法。
实际上,用的最多的是通过PlugInFilter扩展的插件。
该接口的示例如下:// 实现将一幅8bit位的灰度图取反import ij.ImagePlus;import ij.plugin.filter.PlugInFilter;import ij.process.ImageProcessor;public class My_Inverter implements PlugInFilter {public int setup(String arg, ImagePlus im) {return DOES_8G; // this plugin accepts 8-bit grayscale images }public void run(ImageProcessor ip) {int w = ip.getWidth(); // 获得图象宽度int h = ip.getHeight(); // 获得图象高度// iterate over all image coordinatesfor (int u = 0; u < w; u++) {for (int v = 0; v < h; v++) {int p = ip.getPixel(u, v); // 取列为u,行为v位置的像素的值ip.putPixel(u, v, 255 - p); // 设置列为u,行为v位置的像素值}}}} // end of class用户要实现该接口的两个方法。
public int setup(String arg, ImagePlus im)系统执行PlugInFilter类型的插件时,首先调用setup方法获得插件本身的一些信息。
该方法利用打开图象的ImagePlus对象im中包含的信息,进行版本校验,处理参数的设置等操作。
public void run(ImageProcessor ip)该方法接收ImageProcessor类型的对象,其中包含待处理的图象及其相关信息。
上面的程序段里利用了相关的方法获取图象尺寸、像素等信息。
另外上述的run()方法中还可以通过直接操作像素数组来实现类似的功能,但效率要高多了,程序段如下:public void run(ImageProcessor ip) {int w = ip.getWidth(); // 获得图象宽度int h = ip.getHeight(); // 获得图象高度byte[] pixels = (byte[])ip.getPixels() ; // 获得像素数组// iterate over all image coordinatesfor (int u = 0; u < w; u++) {for (int v = 0; v < h; v++) {int p = 0xff & pixels[v*w+u] ; // 取列为u,行为v位置的像素的值设置列为u,行为v位置的像素值 pixels[v*w+u]=(byte)(0xFF-p); //}}}如果用户要实现复杂的界面和交互,可以扩展plugFrame插件。
该插件的示例如下:import ij.*;import ij.process.*;import ij.gui.*;import java.awt.*;import ij.plugin.frame.*;public class T estFrame extends PlugInFrame {{T estFrame()publicsuper("Plugin_Frame");T extArea ta = new T extArea(15, 50);add(ta);pack();GUI.center(this);show();}}系统创建该窗体插件,用户可以定义自己的用户界面、交互流程,当然前提要对java的AWT或Swing编程比较熟悉。