MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   具有多个输入矩阵的块处理 (https://www.labfans.com/bbs/showthread.php?t=26459)

poster 2019-12-14 20:13

具有多个输入矩阵的块处理
 
我正在matlab处理用于隐写术的图像。到目前为止,在我的工作中,我一直在使用块处理命令blockproc将图像分解为块以进行处理。我现在正在寻找开始使用两个图像(秘密和封面)的方法,但是无论如何我都无法使用带有两个输入矩阵而不是一个的blockproc。

有人知道这样做的方法吗?



[B]回答:[/B]

blockproc仅允许您[I]遍历[/I]单个图像,但不会阻止您对所需的任何数据进行[I]操作[/I] 。用户功能的签名将“块结构”作为输入,该“块结构”不仅包含数据字段(在所有blockproc示例中使用),还包含其他几个字段,其中之一是“位置”。您可以使用它来确定输入图像中的“您所在的位置”,并确定需要对该块进行哪些其他数据处理。

例如,以下是您如何对2张相同尺寸的图像进行逐元素乘法的方法。这是一个非常笨拙的示例,但仅在此处演示它的外观:

im1 = rand(100); im2 = rand(100); fun = @(bs) bs.data .* ... im2(bs.location(1):bs.location(1)+9,bs.location(2):bs.location(2)+9); im3 = blockproc(im1,[10 10],fun); im4 = im1 .* im2; isequal(im3,im4) 使用块结构的“位置”字段,您可以找出特定块所需的第二,第三,第四等数据集的适当部分。

希望这可以帮助!

-布伦丹



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


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

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