Irvine程序集:如何使用汇编语言在图像上应用3x3中值滤镜?

时间:2017-12-25 11:49:19

标签: c# assembly x86 masm32

我已经使用C#窗体形式读取了图像,并成功将位图转换为1D整数数组,以将其作为汇编函数的参数传递,该函数将用于执行中值滤波器逻辑,我已将链接组件使用包含包含中值过滤器逻辑的汇编函数的DLL文件与C#项目进行项目。

现在我的问题,让我说我有一个7x7阵列叫做表来测试逻辑

TITLE MASM Template(main.asm)

INCLUDE Irvine32.inc
.data

table    BYTE  1, 2,  3,  4,  5,  6,  7
         BYTE  8, 9, 10, 11, 12, 13, 14
         BYTE  15, 16, 17, 18, 19, 20, 21
         BYTE  22, 23, 24, 25, 26, 27, 28
         BYTE  29, 30, 31, 32, 33, 34, 35
         BYTE  36,37, 38, 39, 40, 41, 42
         BYTE  43, 44, 45, 46, 47, 48, 49

我想在第一个索引周围制作3x3相邻像素窗口(像素 1 )。

0 0 0
0 1 2
0 8 9

然后使用任何排序算法对其进行排序,并取中值并将其替换为像素值。 那么像素 2 的第二个窗口将是

0 0 0
1 2 3
8 9 10

如何使用Irvine x86汇编语言? 如何知道数组的边界以放置零而不是垃圾值?

0 个答案:

没有答案