MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   improfile的等效写入 (https://www.labfans.com/bbs/showthread.php?t=26266)

poster 2019-12-14 20:13

improfile的等效写入
 
在MATLAB的[URL="http://www.mathworks.com/products/image/"]图像处理工具箱中,[/URL]有一个[URL="http://www.mathworks.com/help/toolbox/images/ref/improfile.html"]improfile[/URL]函数,该函数从由两个点定义的直线下方返回图像的强度分布。

是否有与此功能等效的[I]文字[/I] ?也就是说,我想传递两个点(以指定一条线)和一个像素值向量来替换该线下面的一堆像素。



[B]回答:[/B]

我基本上完成了[URL="https://stackoverflow.com/users/426352/ghaul"]Ghaul的[/URL]建议,但是用手动查找基础像素替换了imline() 。优点是未显示可带来速度优势的数字(在我的测试中为〜0.5s);

dist_euc = norm(p1 - p2); n_pix = round(dist_euc*2); step = (p1 - p2)/n_pix; pix_coords = zeros(n_pix, 2); for cp = 0:n_pix pix_coords(cp+1, :) = round(p2 + cp*step); end pix_inds = sub2ind(size(im), pix_coords(:,2), pix_coords(:,1)); pix_inds = unique(pix_inds); im(pix_inds) = interpft(prof, length(pix_inds));

[url=https://stackoverflow.com/questions/4874298]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 23:23

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.