gpt4 book ai didi

image-processing - matlab 图像 : return pixel values along the boundingbox in an image?

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:14 26 4
gpt4 key购买 nike

所以,我有一个 RGB 图像,我在图像的一个区域周围放置了一个矩形(边界框)。但是,我无法获取沿此矩形周边的像素值。

我尝试查看函数 regionprops 但没有找到任何有用的东西。

我想我可以通过了解边界框上的 (x,y) 点列表来获取像素值(x_inity_initx_width, y_width) 但没有具体的功能。谁能帮忙?

最佳答案

我不知道图像处理工具箱中是否有针对此的特定功能,但是您描述的功能很简单,可以自己实现:

function pixel_vals = boundingboxPixels(img, x_init, y_init, x_width, y_width)

if x_init > size(img,2)
error('x_init lies outside the bounds of the image.'); end
if y_init > size(img,1)
error('y_init lies outside the bounds of the image.'); end

if y_init+y_width > size(img,1) || x_init+x_width > size(img,2) || ...
x_init < 1 || y_init < 1
warning([...
'Given rectangle partially falls outside image. ',...
'Resizing rectangle...']);
end

x_min = max(1, uint16(x_init));
y_min = max(1, uint16(y_init));
x_max = min(size(img,2), x_min+uint16(x_width));
y_max = min(size(img,1), y_min+uint16(y_width));
x_range = x_min : x_max;
y_range = y_min : y_max;

Upper = img( x_range, y_min , :);
Left = img( x_min, y_range, :);
Right = img( x_max, y_range, :);
Lower = img( x_range, y_max , :);

pixel_vals = [...
Upper
permute(Left, [2 1 3])
permute(Right, [2 1 3])
Lower];

end

关于image-processing - matlab 图像 : return pixel values along the boundingbox in an image?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12701385/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com