Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我正在matlab处理用于隐写术的图像。到目前为止,在我的工作中,我一直在使用块处理命令blockproc将图像分解为块以进行处理。我现在正在寻找开始使用两个图像(秘密和封面)的方法,但是无论如何我都无法使用带有两个输入矩阵而不是一个的blockproc。
有人知道这样做的方法吗? 回答: blockproc仅允许您遍历单个图像,但不会阻止您对所需的任何数据进行操作 。用户功能的签名将“块结构”作为输入,该“块结构”不仅包含数据字段(在所有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) 使用块结构的“位置”字段,您可以找出特定块所需的第二,第三,第四等数据集的适当部分。 希望这可以帮助! -布伦丹 更多&回答... |
![]() |
![]() |