欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab imread_MATLAB图像处理:29:在几何变换输出中指定填充值

发布时间:2025/3/8 循环神经网络 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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:在几何变换输出中指定填充值的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。