J L*_*J L 4 matlab image image-processing
所以假设我有黑白图像,用imread()命令读取并保存到矩阵A中.
我想输出/绘制这个矩阵A图像的圆柱形状.我知道如何在MATLAB中绘制圆柱体,但如果我想将图像放在圆柱体上或以圆柱形状绘制图像,我不知道应该怎么做.任何帮助将不胜感激.谢谢.
我通过谷歌搜索找到了这个网站. http://www.flashandmath.com/advanced/rolls/cylin.html 这正是我想要做的,但我需要在MATLAB中做到这一点.
该技术称为纹理映射.这是surface
函数(R2011b)的代码示例:
load clown
surface(peaks,flipud(X),...
'FaceColor','texturemap',...
'EdgeColor','none',...
'CDataMapping','direct')
colormap(map)
view(-35,45)
Run Code Online (Sandbox Code Playgroud)
此示例从"peppers.png"加载RGB图像并将其映射到柱面上:
imgRGB = imread('peppers.png');
[imgInd,map] = rgb2ind(imgRGB,256);
[imgIndRows,imgIndCols] = size(imgInd);
[X,Y,Z] = cylinder(imgIndRows,imgIndCols);
surface(X,Y,Z,flipud(imgInd),...
'FaceColor','texturemap',...
'EdgeColor','none',...
'CDataMapping','direct')
colormap(map)
view(-35,45)
Run Code Online (Sandbox Code Playgroud)
natan建议,使用该warp
功能(图像处理工具箱附带)更简单:
imgRGB = imread('peppers.png');
[imgRows,imgCols,imgPlanes] = size(imgRGB);
[X,Y,Z] = cylinder(imgRows,imgCols);
warp(X,Y,Z,imgRGB);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7973 次 |
最近记录: |