Python+OpenCV:600x600图像从灰蓝到黄红再到二值化的神奇变换
首先,我们需要生成一个600x600的灰色图像,其中中间300x300的区域为蓝色。然后,将灰色区域变为黄色,蓝色区域变为红色。将图像二值化,使中间区域为白色,周围区域为黑色。 以下是使用Python和OpenCV实现的代码: ```python import cv2 import numpy as np # 创建一个600x600的灰色图像,中间300x300的区域为蓝色 img = np.full((600, 600, 3), [127, 127, 127], dtype=np.uint8) blue_region = np.full((300, 300, 3), [255, 0, 0], dtype=np.uint8) img[150:450, 150:450] = blue_region # 将灰色区域变为黄色,蓝色区域变为红色 yellow = np.array([0, 255, 255], dtype=np.uint8) red = np.array([0, 0, 255], dtype=np.uint8) img[img == [127, 127, 127]] = yellow img[img == [255, 0, 0]] = red # 将图像二值化,使中间区域为白色,周围区域为黑色 gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) _, binary_img = cv2.threshold(gray_img, 127, 255, cv2.THRESH_BINARY) # 显示图像 cv2.imshow("Original Image", img) cv2.imshow("Binary Image", binary_img) cv2.waitKey(0) cv2.destroyAllWindows() ``` 这段代码首先创建了一个600x600的灰色图像,并将中间300x300的区域设置为蓝色。接下来,将灰色区域变为黄色,蓝色区域变为红色。然后,将图像转换为灰度图,并使用阈值进行二值化。显示原始图像和二值化后的图像。 ######[AI写代码神器 | 535点数解答 | 2024-10-17 10:27:19]
- 揭秘!任意各位不同三位数经变换最终如何锁定 495 及编程求解变换次数(字节豆包 | 167点数解答 | 2025-04-22 20:47:58)331
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)491
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)444
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)438
- OpenCV.js 轻松实现图片识别:详细步骤全解析 ( | 824点数解答 | 2024-03-22 16:22:16)206
- OpenCV.js 实战:轻松识别图片中电梯轮廓( | 1193点数解答 | 2024-03-22 16:23:32)221
- 用 C++ 和 OpenCV 生成带随机偏移的圆周上的点:代码剖析(字节豆包 | 29点数解答 | 2024-11-06 23:40:42)273
- Java调用Python接口中文乱码?设置UTF - 8编码一招解决!(讯飞星火 | 263点数解答 | 2024-06-06 17:07:59)418
- 解决Java调用Python接口中文乱码问题:设置UTF - 8编码全攻略(讯飞星火 | 160点数解答 | 2024-06-06 17:18:39)441
- Java调用Python接口中文乱码问题:字符编码统一解决方案(讯飞星火 | 344点数解答 | 2024-06-06 17:19:55)548
- 解决Java调用Python接口时中文值乱码问题:设置字符编码为UTF-8(讯飞星火 | 264点数解答 | 2024-06-06 17:27:09)415
- 医院系统:信息添加、查询与修改操作全流程展示( | 31点数解答 | 2024-05-22 11:20:34)519