基于this问题,我可以证实,水平模式可以被施加到基质(在这种情况下是图像),通过用与该创建的调制信号相乘:如何创建斜条纹图案和棋盘图案?
vModulationSignal = 1 + (0.5 * cos(2 * pi * (signalFreq/numRows) * [0:(numRows - 1)].'));
它也将如果有人能够解释为什么上述调制信号起作用,那该多好。
现在我想创建对角线图案,比如:
而且纵横交错(格子)模式,如这样的:
使用类似vModulationSignal
代码摘录,其中调制信号创建
numRows = size(mInputImage, 1);
numCols = size(mInputImage, 2);
signalFreq = floor(numRows/1.25);
vModulationSignal = 1 + (0.5 * cos(2 * pi * (signalFreq/numRows) * [0:(numRows - 1)].'));
mOutputImage = bsxfun(@times, mInputImage, vModulationSignal);
代码,我想创建的十字交叉信号
numRows = size(mInputImage, 1);
numCols = size(mInputImage, 2);
signalFreq1 = floor(numRows/1.25);
signalFreq2 = floor(numCols/1.25);
vModulationSignal1 = 1 + (0.5 * cos(2 * pi * (signalFreq/numRows) * [0:(numRows - 1)].'));
vModulationSignal2 = 1 + (0.5 * cos(2 * pi * (signalFreq/numRows) * [0:(numRows - 1)].'));
mOutputImage = bsxfun(@times, mInputImage, vModulationSignal);
figure();
imshow(mOutputImage);
在Stackoverflow上,你需要首先发布一些代码,显示你已经试图让你自己工作。然后发布具体的编码错误。关于它为什么起作用的理论,你最好还是要求[dsp.se] – Dan