生成1920*1080正弦条纹代码
时间: 2023-06-06 09:07:26 浏览: 86
以下是生成1920*1080正弦条纹的代码:
```python
import numpy as np
import cv2
rows, cols = 1080, 1920
# Create a blank image
img = np.zeros((rows, cols), dtype=np.uint8)
# Generate a sin wave with a frequency of 40 pixels
sin_wave = np.sin(np.linspace(0, 4*np.pi, cols)) * 255
# Create the stripe pattern by repeating the sin wave over rows
for i in range(rows):
img[i, :] = sin_wave
# Display the image
cv2.imshow('Sinusoidal Stripes', img)
cv2.waitKey()
cv2.destroyAllWindows()
```
这个代码会生成一张纵向的正弦条纹图案,条纹的频率为40像素,颜色为灰度。你可以根据需要调整频率、颜色等参数。
相关问题
matlab怎么生成1920*1080正弦条纹图片
可以使用以下代码在MATLAB中生成1920x1080的正弦条纹图片:
```matlab
wavelength = 40; % 正弦波的波长
amplitude = 0.5; % 正弦波的振幅
[X,Y] = meshgrid(1:1920, 1:1080); % 创建网格
Z = amplitude*sin(2*pi*X/wavelength); % 计算正弦值
imshow(Z, []); % 显示图片
```
你还有其他问题吗?
基于matlab光栅正弦条纹
以下是基于MATLAB的光栅正弦条纹的示例代码:
```matlab
% 设置参数
N = 512; % 图像大小
P = 50; % 条纹周期
theta = 30; % 条纹方向(单位:度)
% 创建网格
[x, y] = meshgrid(1:N);
% 计算条纹
sine_wave = sin(2*pi/P*(cosd(theta)*x + sind(theta)*y));
grating = (sine_wave+1)/2;
% 显示结果
imshow(grating)
```
在此代码中,首先设置了图像的大小、条纹的周期和方向。然后,通过 `meshgrid` 创建了一个网格,其中 `x` 和 `y` 表示每个像素点在图像中的位置坐标。接着,根据设置的周期和方向计算了正弦条纹,并将其转换为灰度图像。最后,使用 `imshow` 显示了生成的正弦条纹图像。
您可以根据需要调整参数,生成不同的正弦条纹图像。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)