matlab imread_MATLAB图像处理:29:在几何变换输出中指定填充值
生活随笔
收集整理的这篇文章主要介绍了
matlab imread_MATLAB图像处理:29:在几何变换输出中指定填充值
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
本示例说明如何指定imwarp执行几何变换时使用的填充值。执行转换时,输出图像中通常会有一些像素不属于原始输入图像。必须为这些像素分配一些值,称为填充值。默认情况下,imwarp将这些像素设置为零,并显示为黑色。使用FillValues参数,可以指定其他颜色。如果要转换的图像是灰度图像,请指定标量值,该标量值指定灰度。如果要变换的图像是RGB图像,则可以使用标量值或1×3向量。如果指定标量,则imwarp对RGB图像的每个平面使用该灰色阴影。如果您指定1 x 3向量,imwarp 将该值解释为RGB颜色值。
将图像读入工作区。本示例使用彩色图像。
rgb = imread('onion.png');创建变换矩阵。该矩阵定义平移变换。
xform = [ 1 0 0 0 1 0 40 40 1 ];创建几何变换对象。本示例创建一个affine2d对象。
tform_translate = affine2d(xform)tform_translate = affine2d with properties:T: [3x3 double]Dimensionality: 2创建一个2D参考对象。该对象指定输出空间的坐标系的各个方面,以便需要填充值的区域可见。默认情况下,imwarp将输出图像的大小调整为刚好足以容纳整个变换的图像,而不是整个输出坐标空间。
Rout = imref2d(size(rgb)); Rout.XWorldLimits(2) = Rout.XWorldLimits(2)+40; Rout.YWorldLimits(2) = Rout.YWorldLimits(2)+40; Rout.ImageSize = Rout.ImageSize+[40 40];使用imwarp函数执行转换。
cb_rgb = imwarp(rgb,tform_translate,'OutputView',Rout);figure, imshow(cb_rgb)现在执行变换,这次指定填充值。
cb_fill = imwarp(rgb,tform_translate,'FillValues',[187;192;57],...'OutputView',Rout);figure, imshow(cb_fill)注:本文根据MATLAB官网内容修改而成。
欢迎您进一步了解以下MATLAB系列文章:
吃小羊:MATLAB作图实例:00:索引zhuanlan.zhihu.com吃小羊:MATLAB金融工具箱:00:索引zhuanlan.zhihu.com总结
以上是生活随笔为你收集整理的matlab imread_MATLAB图像处理:29:在几何变换输出中指定填充值的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 生活常识:如何正确储存调味料?
- 下一篇: matlab中 %s 是什么意思,ie在