MATLAB 中的黑白视错觉
利用黑白图案产生扭曲、运动或其他任何令人着迷的视觉效果的视觉现象被称为黑白视错觉。这些黑白图案利用我们眼睛和大脑处理视觉信息的方式,并创造出一种错觉来误导我们的感知。
黑白视错觉使用各种以特定风格排列的黑色和白色图案、形状和线条。这些排列是为了创造运动、扭曲、深度等错觉。
在本文中,我们将学习如何使用 MATLAB 编程创建不同类型的黑白视错觉。
示例
以下 MATLAB 代码将生成一个简单的方形黑白视错觉。
% Define the size of illusion box
BoxSize = 400;
% Create a grid of coordinates
[a, b] = meshgrid(1:BoxSize, 1:BoxSize);
% Specify the optical illusion parameters
% Define number of pattern cycles
cycle = 50;
% Define intensity of the illusion
intensity = 150;
% Create a black and white optical illusion pattern
illusion_pattern = cos(2 * pi * a / cycle) + cos(2 * pi * b / cycle);
% Control the intensity of the illusion pattern
illusion_pattern = illusion_pattern * intensity;
% Perform normalization of pattern values to the range [0, 1]
illusion_pattern = (illusion_pattern - min(illusion_pattern(:))) / (max(illusion_pattern(:)) - min(illusion_pattern(:)));
% Display the black and white optical illusion
imshow(illusion_pattern, 'InitialMagnification', 'fit'); title('Black and White Optical Illusion');
输出
解释
在这个 MATLAB 程序中,我们生成了一个黑白视错觉。在上面的 MATLAB 代码中,我们首先定义了一个大小为 400 像素的方框,并将其存储在“BoxSize”变量中。然后,我们调用“meshgrid”函数来创建图案的坐标网格。接下来,我们指定视错觉的参数“cycle”和“intensity”。其中,“cycle”参数确定图案中的周期数,“intensity”参数确定错觉的强度或幅度。
然后,我们指定一个公式来生成黑白视错觉图案,并将结果存储在“illusion_pattern”变量中。然后,我们规范化图案的值,以确保它们在 [0, 1] 范围内;
最后,我们使用“imshow”函数显示生成的黑白视错觉。
注意 – 您可以更改错觉参数“cycle”和“intensity”的值以生成此视错觉的不同变体。
示例
以下 MATLAB 代码演示了如何在图像上创建黑白视错觉。
% MATLAB Program to create black and white optical illusion on image
% Read the input image
img = imread('https://tutorialspoint.com/matlab/images/matlab-mini-logo.jpg');
% Transform the input image to binary image
img2 = im2bw(img);
% Create a complemented image of the binary image
img3 = imcomplement(img2);
% Display the original, binary, and complemented image
subplot(1, 3, 1); imshow(img); title('Original Image');
subplot(1, 3, 2); imshow(img2); title('Binary Image');
subplot(1, 3, 3); imshow(img3); title('Complemented Image');
输出
解释
在这个 MATLAB 程序中,我们首先使用“imread”函数读取输入图像。然后,我们使用“im2bw”函数将输入图像转换为二值图像。接下来,我们使用“imcomplement”函数创建二值图像的补图像。最后,我们使用“imshow”函数显示原始图像、二值图像和补图像,并附带相应的标题。
这就是我们在 MATLAB 中如何在图像上创建黑白视错觉的方法。
结论
总之,在本文中,我们讨论了使用 MATLAB 编程创建原始黑白视错觉和图像上的黑白视错觉。以上两个 MATLAB 程序演示了如何使用简单的代码创建黑白错觉。
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP