【发布时间】:2016-03-06 17:34:11
【问题描述】:
基于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 上,您需要先发布一些代码,表明您已尝试自行解决此问题。然后发布您有哪些具体的编码错误。至于它为什么起作用的理论,你最好在Signal Processing 上问这个
标签: matlab image-processing matrix textures modulation