如何通过Matlab warp的曲面贴图输出导出图?
扭曲对象位于极坐标中,我无法使用如何通过Matlab warp的曲面贴图输出导出图?,matlab,matlab-figure,Matlab,Matlab Figure,扭曲对象位于极坐标中,我无法使用轴指定该极坐标,因此我无法将曲面对象直接传递到export\u fig。 生成图像的代码,但我无法捕捉到它,因为它没有句柄,所以导出图,如下所示 clear all; close all; clc; img=imread('peppers.png'); % http://stackoverflow.com/a/7586650/54964 [h,w,~] = size(img); s = min(h,w)/2; [rho,theta] = meshgrid(li
轴指定该极坐标,因此我无法将曲面对象直接传递到
,如下所示。 生成图像的代码,但我无法捕捉到它,因为它没有句柄,所以导出图export\u fig
clear all; close all; clc; img=imread('peppers.png'); % http://stackoverflow.com/a/7586650/54964 [h,w,~] = size(img); s = min(h,w)/2; [rho,theta] = meshgrid(linspace(0,s-1,s), linspace(0,2*pi,s)); [x,y] = pol2cart(theta, rho); z = zeros(size(x)); figure; h=warp(x, y, z, img); view(2), axis square tight off
接受图形和语法处理程序,但不接受曲面映射,因此我无法将export\u fig
传递给函数h
建议失败的示例代码% https://github.com/altmany/export_fig export_fig(figure_handle, filename); export_fig(axes_handle, filename);
图1输出图全部清除;全部关闭;clc; fp=图(); hax_极轴=轴(fp); f_do_not_touch=图形(“名称”、“请勿触摸”); 指数=0; I=imread('peppers.png'); 而指数<7 [x,y,z]=makePolar(I); h=翘曲(x,y,z,I); 视图(2),轴方形紧密关闭 % [Ip,alpha]=导出图('/home/masi/Images/masi','-png','-native','-q101','-a1','-m1','-RGB','-nofontswap','-transparent','-dpng'。。。 哈克斯(波兰); p=快速峰值风(Ip);%https://se.mathworks.com/matlabcentral/fileexchange/37388-fast-2d-peak-finder imagesc(hax_polar,Ip);等等 图(hax_极坐标,p(1:2:end),p(2:2:end),r+) 拖延 指数=指数+1; 结束 函数[x,y,z]=makePolar(img) % http://stackoverflow.com/a/7586650/54964 [h,w,~]=尺寸(img); s=最小(h,w)/2; [rho,theta]=meshgrid(linspace(0,s-1,s),linspace(0,2*pi,s)); [x,y]=pol2cart(θ,ρ); z=零(尺寸(x)); 结束
不接触
获取内容,主图因隐式声明而中断 Matlab:2016a
操作系统:Debian 8.5 64位有几个问题,如果我们解决了它们,就会得到您所期望的结果由于 不接受warp
属性,因此需要确保要显示它的'Parent'
轴是当前轴。您可以使用
功能强制执行此操作,并将轴手柄传递给它轴
axes(hax_polar) h = warp(x, y, z, I); % Explicitly modify this axes view(hax_polar, 2) axis(hax_polar, 'square') axis(hax_polar, 'tight') axis(hax_polar, 'off')
调用 一旦我们解决了所有这些问题,我们就会得到一个看起来正确的图像和imagesc
时,使用plot
属性值对(而不是将父属性指定为第一个输入)更为清晰(跨系统工作更为可靠)'Parent'
imagesc(Ip, 'Parent', hax_polar); plot(p(1:2:end), p(2:2:end), 'r+', 'Parent', hax_polar); hold(hax_polar, 'off')
有几个问题,如果我们解决了它们,就会得到您所期望的结果全部清除;全部关闭;clc; fp=图(); hax_极轴=轴('父',fp); f_do_not_touch=图形(“名称”、“请勿触摸”); 指数=0; I=imread('peppers.png'); 而指数<7 [x,y,z]=makePolar(I); 轴(hax_极轴) h=翘曲(x,y,z,I); %不同的 视图(hax_polar,2); 轴(hax_极轴,'正方形') 轴(hax_极轴,“紧”) 轴(hax_极轴,“关闭”) % [Ip,alpha]=导出图('test.png'、'-png'、'-native'、'-q101'、'-a1'、'-m1'、'-RGB'、'-nofontswap'、'-transparent'、'-dpng'、。。。 哈克斯(波兰); p=快速峰值风(Ip);%https://se.mathworks.com/matlabcentral/fileexchange/37388-fast-2d-peak-finder imagesc(Ip,‘父’,hax_polar);等等 曲线图(p(1:2:end)、p(2:2:end)、‘r+’、‘Parent’、hax_polar) 保持(hax_极轴“关闭”) 指数=指数+1; 结束 函数[x,y,z]=makePolar(img) % http://stackoverflow.com/a/7586650/54964 [h,w,~]=尺寸(img); s=最小(h,w)/2; [rho,theta]=meshgrid(linspace(0,s-1,s),linspace(0,2*pi,s)); [x,y]=pol2cart(θ,ρ); z=零(尺寸(x));
由于 不接受warp
属性,因此需要确保要显示它的'Parent'
轴是当前轴。您可以使用
功能强制执行此操作,并将轴手柄传递给它轴
axes(hax_polar) h = warp(x, y, z, I); % Explicitly modify this axes view(hax_polar, 2) axis(hax_polar, 'square') axis(hax_polar, 'tight') axis(hax_polar, 'off')
调用 一旦我们解决了所有这些问题,我们就会得到一个看起来正确的图像和imagesc
时,使用plot
属性值对(而不是将父属性指定为第一个输入)更为清晰(跨系统工作更为可靠)'Parent'
imagesc(Ip, 'Parent', hax_polar); plot(p(1:2:end), p(2:2:end), 'r+', 'Parent', hax_polar); hold(hax_polar, 'off')
和全部清除;全部关闭;clc; fp=图(); hax_极轴=轴('父',fp); f_do_not_touch=图形(“名称”、“请勿触摸”); 指数=0; I=imread('peppers.png'); 而指数<7 [x,y,z]=makePolar(I); 轴(hax_极轴) h=翘曲(x,y,z,I); %不同的 视图(hax_polar,2); 轴(hax_极轴,'正方形') 轴(hax_极轴,“紧”) 轴(hax_极轴,“关闭”) % [Ip,alpha]=导出图('test.png'、'-png'、'-native'、'-q101'、'-a1'、'-m1'、'-RGB'、'-nofontswap'、'-transparent'、'-dpng'、。。。 哈克斯(波兰); p=快速峰值风(Ip);%https://se.mathworks.com/matlabcentral/fileexchange/37388-fast-2d-peak-finder imagesc(Ip,‘父’,hax_polar);等等 曲线图(p(1:2:end)、p(2:2:end)、‘r+’、‘Parent’、hax_polar) 保持(hax_极轴“关闭”) 指数=指数+1; 结束 函数[x,y,z]=makePolar(img) % http://stackoverflow.com/a/7586650/54964 [h,w,~]=尺寸(img); s=最小(h,w)/2; [rho,theta]=meshgrid(linspace(0,s-1,s),linspace(0,2*pi,s)); [x,y]=pol2cart(θ,ρ); z=零(尺寸(x));
请考虑添加一个。这意味着直接复制粘贴将运行代码。这很重要,因为你正在做非常具体的事情,我们不能仅仅猜测,我们可能会错过你的错误。另外,与任何事情都有什么关系?警告出现在export\u fig
图像生成效果非常好<代码中不存在代码>图形句柄曲面中
,因此它会出错。这就是我的意思。这有关系吗?如果我做文件名
figure\u handle=figure;h=翘曲(x,y,z,img);视图(2),轴方形紧密关闭;filename='whatevers.png'导出图(图\u句柄,文件名)代码>它还使用<代码> HYAX= GET(H,'Prime')< /Cord>获取包含该表面的轴的句柄,然后通过<代码> HYAX到ExpX.PPLASE,请考虑添加一个。这意味着直接复制粘贴将运行代码。这很重要,因为你每天都在做非常具体的事情