Python图像拼接之自定义生成棋盘格
一个很有意思的代码,如下所示:
# -*- 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图像拼接之自定义生成棋盘格相关推荐
- Python图像拼接:创建全景图
Python图像拼接:创建全景图 算法原理 基础流程 几何原理 核心步骤(RANSAC算法) 源代码 结果分析 综述 夜景(中华城) 室内(引桐楼) 多建筑(鹭江道周边) 单调场景(海滩) 复杂场景( ...
- python机器学习库sklearn——生成样本数据
分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...
- python通过批量经纬度生成标记地图生成
python通过批量经纬度生成标记地图生成 通过读取excel文件中经纬度数据生成定位图 from pyecharts.charts import Geo from pyecharts import ...
- 桌面太单调?一起用Python做个自定义动画挂件,好玩又有趣!
前言 前段时间,写了篇博客关于Python自制一款炫酷音乐播放器.有粉丝问我,音乐播放器为什么要用PyQt5,效果是不是比Tkinter赞?PyQt5真的可以实现这些炫酷的UI画面吗?之前没接触过Py ...
- C#调用Python脚本训练并生成AI模型(以Paddle框架为例)
目录 一. C#调用通过IronPython语言移植 1.1 IronPython安装 1.2 示例代码 1.3 运行结果 1.4 特点 二. C#调用Python文件打包dll 2.1 步骤 2.1 ...
- R语言使用reshape2包的melt函数将dataframe从宽表到长表(Wide- to long-format)、指定行标识符变量、并自定义生成的长表的标识符列的名称
R语言使用reshape2包的melt函数将dataframe从宽表到长表(Wide- to long-format).指定行标识符变量.并自定义生成的长表的标识符列的名称 目录
- python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体、自定义设置图像标题使用的字体类型
python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体.自定义设置图像标题使用的字体类型 目录
- Python执行pyinstaller打包生成的exe文件实战
Python执行pyinstaller打包生成的exe文件实战 目录 Python执行pyinstaller打包生成的exe文件实战 #pyinstaller打包生成的exe文件
- python使用fpdf将生成的长字符串手动换行写入pdf
python使用fpdf将生成的长字符串手动换行写入pdf 目录 python使用fpdf将生成的长字符串手动换行写入pdf #lassocv生成特征系数dataframe
最新文章
- list表分区后续添加分区
- 老焦专栏 | 如何做一个有说服力的方案?
- 查看linux上redis的运行状态,Redis教程(七)使用info查看服务状态
- mysql用in查询list_Mysql优化器对in list的处理
- Quartz定时任务的基本搭建
- sessionStorage和localStorage的用法,不同点和相同点
- scala方法中的变量_Scala中的变量
- R语言基础入门(9)之因子类型
- 7-72 功夫传人 (25 分)(深搜)
- linux中ftp的工作原理,Linux系统学习 十二、VSFTP服务—简介与原理
- 新蓝剑java_Ubuntu 8.10 编译安装飞鸽(IPMsg 0.9.6)
- 1小时搞懂设计模式之单例模式
- 《Serverless 架构》序言
- 降维系列之 MDS多维缩放 与 ISOMAP 等度量映射
- AutoCAD2007 快捷键介绍和线形设置
- 使用MV制作最简单的游戏:我要做游戏(1)
- 【编程题】【Scratch二级】2020.12 森林聚会
- Vue封装Tabs标签页
- 支付宝 AR 红包技术探讨及如何在下一波技术浪潮中畅泳
- 排队器拦截_网络拦截器-一个好用的网络拦截器