Ala*_*air 7 plot image octave pixels
例如,如果我加载并显示图像
c = imread('cameraman.tif');
imshow(c)
Run Code Online (Sandbox Code Playgroud)
然后在绘图窗口中,在图像本身下,有两个数字表示当前光标位置的形式
[39.25, 120.6]
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
此信息是否可以包含像素的灰度/ rgb值,例如
[23, 46] = 127
要么
[23, 46] = (46,128,210)?
我试过摆弄"轴"命令,但我找不到任何有用的东西.
我想我想要的是类似Matlab的"像素信息工具" impixelinfo:http:
//www.mathworks.com.au/help/images/ref/impixelinfo.html虽然我知道来自octave图像wiki的http:// wiki .octave.org/Image_package是impixelinfo不是在目前八音实施.但也许有另一种方法可以达到相同的效果?
我在linux(Ubuntu 12.04)下使用Octave-3.8.0,图像包2.2.0.
GNU Octave 3.8使用FLTK作为标准的graphics_toolkit.不幸的是,只有在鼠标移动(拖动)时使用此工具包按下按钮才触发WindowButtonMotionFcn(今天我将此视为一个错误).但是你可以使用WindowButtonDownFcn.
如果单击图像,此示例将使用该位置的位置和图像值更新标题:
img = imread ("cameraman.png");
imshow (img)
function btn_down (obj, evt)
cp = get (gca, 'CurrentPoint');
x = round (cp(1, 1));
y = round (cp(1, 2));
img = get (findobj (gca, "type", "image"), "cdata");
img_v = NA;
if (x > 0 && y > 0 && x <= columns (img) && y <= rows (img))
img_v = squeeze (img(y, x, :));
endif
if (numel (img_v) == 3) # rgb image
title(gca, sprintf ("(%i, %i) = %i, %i, %i", x, y, img_v(1), img_v(2), img_v(3)));
elseif (numel (img_v) == 1) # gray image
title(gca, sprintf ("(%i, %i) = %i", x, y, img_v));
endif
endfunction
set (gcf, 'WindowButtonDownFcn', @btn_down);
Run Code Online (Sandbox Code Playgroud)
如果需要,您还可以在光标旁边放置文本.
| 归档时间: |
|
| 查看次数: |
2506 次 |
| 最近记录: |