一个很有意思的代码,如下所示:

# -*- coding:utf-8 -*-import cv2
import numpy as npdef generatePattern(CheckerboardSize, Nx_cor, Ny_cor):'''自定义生成棋盘:param CheckerboardSize: 棋盘格大小,此处100即可:param Nx_cor: 棋盘格横向内角数:param Ny_cor: 棋盘格纵向内角数:return:'''black = np.zeros((CheckerboardSize, CheckerboardSize, 3), np.uint8)white = np.zeros((CheckerboardSize, CheckerboardSize, 3), np.uint8)black[:] = [0, 0, 0]  # 纯黑色white[:] = [255, 255, 255]  # 纯白色black_white = np.concatenate([black, white], axis=1)black_white2 = black_whitewhite_black = np.concatenate([white, black], axis=1)white_black2 = white_black# 横向连接if Nx_cor % 2 == 1:for i in range(1, (Nx_cor+1) // 2):black_white2 = np.concatenate([black_white2, black_white], axis=1)white_black2 = np.concatenate([white_black2, white_black], axis=1)else:for i in range(1, Nx_cor // 2):black_white2 = np.concatenate([black_white2, black_white], axis=1)white_black2 = np.concatenate([white_black2, white_black], axis=1)black_white2 = np.concatenate([black_white2, black], axis=1)white_black2 = np.concatenate([white_black2, white], axis=1)jj = 0black_white3 = black_white2for i in range(0, Ny_cor):jj += 1# 纵向连接if jj % 2 == 1:black_white3 = np.concatenate((black_white3, white_black2))  # =np.vstack((img1, img2))else:black_white3 = np.concatenate((black_white3, black_white2))  # =np.vstack((img1, img2))cv2.imshow('', black_white3)cv2.imwrite('pattern.jpg', black_white3)cv2.waitKey(5000)cv2.destroyAllWindows()if __name__ == '__main__':generatePattern(100, 9, 6)

运行效果:

Python图像拼接之自定义生成棋盘格相关推荐

  1. Python图像拼接:创建全景图

    Python图像拼接:创建全景图 算法原理 基础流程 几何原理 核心步骤(RANSAC算法) 源代码 结果分析 综述 夜景(中华城) 室内(引桐楼) 多建筑(鹭江道周边) 单调场景(海滩) 复杂场景( ...

  2. python机器学习库sklearn——生成样本数据

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...

  3. python通过批量经纬度生成标记地图生成

    python通过批量经纬度生成标记地图生成 通过读取excel文件中经纬度数据生成定位图 from pyecharts.charts import Geo from pyecharts import ...

  4. 桌面太单调?一起用Python做个自定义动画挂件,好玩又有趣!

    前言 前段时间,写了篇博客关于Python自制一款炫酷音乐播放器.有粉丝问我,音乐播放器为什么要用PyQt5,效果是不是比Tkinter赞?PyQt5真的可以实现这些炫酷的UI画面吗?之前没接触过Py ...

  5. C#调用Python脚本训练并生成AI模型(以Paddle框架为例)

    目录 一. C#调用通过IronPython语言移植 1.1 IronPython安装 1.2 示例代码 1.3 运行结果 1.4 特点 二. C#调用Python文件打包dll 2.1 步骤 2.1 ...

  6. R语言使用reshape2包的melt函数将dataframe从宽表到长表(Wide- to long-format)、指定行标识符变量、并自定义生成的长表的标识符列的名称

    R语言使用reshape2包的melt函数将dataframe从宽表到长表(Wide- to long-format).指定行标识符变量.并自定义生成的长表的标识符列的名称 目录

  7. python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体、自定义设置图像标题使用的字体类型

    python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体.自定义设置图像标题使用的字体类型 目录

  8. Python执行pyinstaller打包生成的exe文件实战

    Python执行pyinstaller打包生成的exe文件实战 目录 Python执行pyinstaller打包生成的exe文件实战 #pyinstaller打包生成的exe文件

  9. python使用fpdf将生成的长字符串手动换行写入pdf

    python使用fpdf将生成的长字符串手动换行写入pdf 目录 python使用fpdf将生成的长字符串手动换行写入pdf #lassocv生成特征系数dataframe

最新文章

  1. list表分区后续添加分区
  2. 老焦专栏 | 如何做一个有说服力的方案?
  3. 查看linux上redis的运行状态,Redis教程(七)使用info查看服务状态
  4. mysql用in查询list_Mysql优化器对in list的处理
  5. Quartz定时任务的基本搭建
  6. sessionStorage和localStorage的用法,不同点和相同点
  7. scala方法中的变量_Scala中的变量
  8. R语言基础入门(9)之因子类型
  9. 7-72 功夫传人 (25 分)(深搜)
  10. linux中ftp的工作原理,Linux系统学习 十二、VSFTP服务—简介与原理
  11. 新蓝剑java_Ubuntu 8.10 编译安装飞鸽(IPMsg 0.9.6)
  12. 1小时搞懂设计模式之单例模式
  13. 《Serverless 架构》序言
  14. 降维系列之 MDS多维缩放 与 ISOMAP 等度量映射
  15. AutoCAD2007 快捷键介绍和线形设置
  16. 使用MV制作最简单的游戏:我要做游戏(1)
  17. 【编程题】【Scratch二级】2020.12 森林聚会
  18. Vue封装Tabs标签页
  19. 支付宝 AR 红包技术探讨及如何在下一波技术浪潮中畅泳
  20. 排队器拦截_网络拦截器-一个好用的网络拦截器

热门文章

  1. 微信跳一跳辅助程序开发,基于C++与opencv图像识别
  2. Web2py远程开发
  3. 动态模糊或运动模糊(motion blur) 介绍
  4. windows IPSec配置
  5. 概率统计相关基础知识
  6. Anaconda中的Spyder安装第三方库
  7. NodeJs编写小爬虫
  8. MySQL海量数据优化(理论+实战)
  9. 带避障功能的MPC局部路径规划+跟踪控制学习笔记
  10. 陈越《数据结构》第三讲 树(上)