在OpenCV里实现棋盘生成
程序员文章站
2022-05-22 11:21:33
...
在图像的算法处理里,经常要使用一些标准的图像来做测试,比如棋盘图像就是其中之一,它经常使用来测试一些噪声、摄像头校准等等。下面就来使用OpenCV来生成一些棋盘图像,如果你想生成文件,直接使用前面的保存函数就可以了。整个代码如下:
#python 3.7.4,opencv4.1
#蔡军生 https://blog.csdn.net/caimouse/article/details/51749579
#
import numpy as np
import cv2
from matplotlib import pyplot as plt
#棋盘生成
def generate_checkerboard(rows_num, columns_num, block_size, base_color):
block_size = block_size * 4
image_width = block_size * columns_num
image_height = block_size * rows_num
inv_color = tuple(255 - val for val in base_color),
checker_board = np.zeros((image_height, image_width, 3), np.uint8)
color_row = 0
color_column = 0
for i in range(0, image_height, block_size):
color_row = not color_row
color_column = color_row
for j in range(0, image_width, block_size):
checker_board[i:i+block_size, j:j +
block_size] = base_color if color_column else inv_color
color_column = not color_column
return checker_board
#
b1 = generate_checkerboard(3,3, 30, (255,255,255))
cv2.imshow('checkerboard', b1)
b2 = generate_checkerboard(3,9, 20, (255,255,255))
cv2.imshow('checkerboard2', b2)
#
cv2.waitKey(0)
cv2.destroyAllWindows()
结果输出如下:
玩转人工智能库-深入浅出OpenCV
https://edu.csdn.net/course/detail/26616
Python游戏开发入门
上一篇: opencv画圆与棋盘图
下一篇: 死锁检查和查看
推荐阅读
-
java web在高并发和分布式下实现订单号生成唯一的解决方案
-
解决在eclipse中将android项目生成apk并且给apk签名的实现方法详解
-
解决在eclipse中将android项目生成apk并且给apk签名的实现方法详解
-
Java里的static在Kotlin里如何实现
-
ajax实现点击不同的链接让返回的内容显示在特定div里
-
在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动
-
Mongodb在CSharp里实现Aggregate实例
-
【工具篇】在.Net中实现HTML生成图片或PDF的几种方式
-
python在OpenCV里实现投影变换效果
-
在Nginx中配置image filter模块来实现动态生成缩略图