imgs

机器学习进阶-案例实战-图像全景拼接-图像全景拼接(RANSCA) 1.sift.detectAndComputer(获得sift图像关键点) 2.cv2.findHomography(计算单...

倖福魔咒の 提交于 2021-02-16 14:01:04
1. sift.detectAndComputer(gray, None) # 计算出图像的关键点和sift特征向量 参数说明:gray表示输入的图片 2.cv2.findHomography(kpA, kpB, cv2.RANSAC, reproThresh) # 计算出单应性矩阵 参数说明:kpA表示图像A关键点的坐标, kpB图像B关键点的坐标, 使用随机抽样一致性算法来进行迭代,reproThresh表示每次抽取样本的个数 3.cv2.warpPespective(imageA, H, (imageA.shape[1] + imageB.shape[1], imageA.shape[0])) # 获得根据单应性矩阵变化后的图像 参数说明:image表示输入图像,H表示单应性的矩阵,(imageA.shape[1] + imageB.shape[1], imageA.shape[0])表示矩阵变化后的维度 4. cv2.line(imageA, kpsA, imageB, kpsB, (0,0,255), 2) 进行画出直线的操作 参数说明:imageA和imageB表示输入图片, kpsA和kpsB表示关键点的坐标(x, y) ,(0, 0, 255)表示颜色, 2表示直线的宽度 RANSAC算法(随机抽样一致性算法), 对于左边的图

python制作游戏总结

坚强是说给别人听的谎言 提交于 2021-02-11 21:33:52
一.序列应用——猜单词游戏 1. 游戏介绍 猜单词游戏就是计筧机随机产生一个单词,打乱字母顺序,供玩家去猜测。此游戏采用控制字符界面 2. 程序设计思路 游戏中,可使用序列中的元组存储所有待猜测的单词。因为猜单词游戏需要随机产生某个待猜测单词以及随机数字,所以引入random模块随机数函数。其中,random.choice()可以从序列中随机选取元素。 在游戏中,随机挑出一个单词word后,把单词word的字母顺序打乱的方法是随机单词字符串中选择一个位置position,把position位置的字母加入乱序后的单词jumble,同时将原单词word中position位置的那个字母删去(通过连接position位置前字符串和其后字符串实现)。通过多次循环就可以产生乱序后的新单词jumble。 3. 游戏结果展示: 4. 代码: import random WORDS=("python","jumble","easy","difficult","answer","continue","phone","position","game") print( """欢迎参加猜单词游戏 把字母组合成一个正确的单词 """ ) iscontinue="y" while iscontinue=="y" or iscontinue=="Y": #从序列中随机挑出一个单词 word=random

小程序

帅比萌擦擦* 提交于 2021-02-08 19:57:37
有的时候我们上传头像,商品图片这些的时候有的希望上传的是自己想要的图片形状,吧图片宽高固定死的话,他又会变形,比列差不多的看起来没什么区别,不固定的话,他们会宽的高的不一样,看起来完全不舒服,不美观了。所以想了个这样的办法,用这个裁剪工具,在选择图片的时候,就把图片的大小裁剪成自己想要的大小,这样就都一致了,下面我们来看看吧! wxml: < view class ="wancll-padded-15 wancll-bg-white wancll-font-size-14" > < view class ="wancll-padded-l-5 wancll-padded-b-10" > 商品图片: </ view > < view class ="comlist-image is-flex wancll-padded-l-5" > < view class ='image-list' wx:if ="{{imgs.length}}" wx:for ="{{imgs}}" wx:key ="key" > < zan-badge catchtap ='deleltImage' data-id ='{{index}}' > x </ zan-badge > < view class ='add-image' catchtap ='previewImage' data-id ='{

究极全面炼丹教程,使用PaddleOCR并自己训练模型,太上老君看了都说好

筅森魡賤 提交于 2021-01-25 11:05:29
使用PaddleOCR,训练自己的模型 前言______PaddleOcr的安装与准备工作 资料准备 1. 下载icdar2015图片集 2. 下载icdar2015数据集配套的标注文件 3.组织数据集路径 4.下载预训练模型 5.组织预训练模型路径 6.修改配置文件 ~~设置完成,开始训练~~ 到了紧张刺激的DEBUG环节才对 如何制作自己的数据集? 模型评估与模型检查 ps:为方便读者文章中需要用到的文件均使用我的网盘分享下载,同时也会给出官网下载地址 前言______PaddleOcr的安装与准备工作 1.PaddleOcr相关组件安装我在上一个博客中已经介绍完毕→ PaddleOcr安装与使用全程指南 ←点击跳转 2.下载PaddleOcr官方文件包, https://kyc592.lanzous.com/i5C7Gkojm7c 密码:kyc 或官网下载地址:https://gitee.com/paddlepaddle/PaddleOCR 然后解压到项目文件夹的根目录下。 一定确保按照前一篇博客操作完毕,Paddleocr可以正常运行,尽量减少待会出现的极 其 繁 重的debug工作。 至此完成准备工作。 资料准备 训练自己的模型,需要的资料有: ①训练用的图片集 ②测试用的图片集 ③前面两个图片集配套的标注文件 ④预训练模型 1. 下载icdar2015图片集 演示采用的

基于yolov3和pythorch框架的火焰识别检测算法

我是研究僧i 提交于 2021-01-06 09:37:18
这是本人第一次写博客,就当是自己实现算法的一个记录吧,有什么不好的地方也请多多指教。我会详细的从环境的配置到算法实现都说明一下,希望对大家能有帮助。 本火焰识别算法采用的是pytorch版本的yolov3检测,yolov3基于Darknet-53网络结构,在图像识别领域应用特别广。 本算法识别的效果如下: 下面开始实际操作啦 一、配置环境 算法所需环境如下: Python: 3.7.4 Tensorflow-GPU 1.14.0 Keras: 2.2.4 numpy:1.17.4 我的操作系统是Ubuntu16.04,windows系统同样可以实现此算法这里建议使用anaconda来快速搭建一个虚拟环境。 如果是ubuntu系统可以参考这篇博客安装anaconda,Anaconda 是 Python 的一个出色的集成开发工具集,对于搞深度学习的人来说应该是必备的。 ubuntu安装anaconda链接 有了anaconda后就可以用它创建虚拟环境啦。具体可以参考这篇博客。 anaconda创建虚拟环境 之后安装Tensorflow,由于我的显卡是AMD的,所以安装的CPU版的,大家可以根据自己的显卡安装相应版本。运行下面的命令安装Tensorflow。 pip install tensorflow==1.14.0 下一步安装相应版本的Keras,运行下面的命令。 pip

jquery下拉框插件心得

邮差的信 提交于 2020-12-16 15:41:06
想记录下自己在开发这个下拉框插件之后的心得,修修改改, 最终决定,将以后我可能用得到的一条条来写,这样看起来也比较清晰。 1、写jquery插件需要的一个结构 // 定义jQuery私有作用域 ( function ($) { // 插件默认属性 var defaults = { name1: "value1" , name2: "value1" , ... ... } // 插件名 $.fn.easySlider = function (options) { // 将默认属性和用户传入得属性合并 var options = $.extend(defaults, options); // this.each(function() {}) 循环对象,支持jQuery选择器 // return 循环后的对象,支持链式调用 return this .each( function () { }); } })(jQuery) // 传入jQuery 对象 View Code 第一次写 jQuery 插件,有看了别人写的一些博客,分享一个写的很好的,自己也是从中受益。 https://www.cnblogs.com/xcj26/p/3345556.html 2、写之前先把要实现的的功能理清楚 我觉得是这样的,要知道自己想要的功能,实现起来就比边想边做好,也不容易乱或者遗漏。就以下面这个为例:

vim配置python编程环境及YouCompleteMe的安装教程

血红的双手。 提交于 2020-12-07 03:34:50
python号称人工智能语言,现在可算大热,这篇博客将介绍如何用vim打造一款自己专属的python编程环境。 step1 由于安装YouCompleteMe需要vim8.0及以上版本,所以得安装使用vim的8.0及以上版本,使用vim --version查看自己的vim版本,如果没达到要求可以参考我的另一篇博客 vim8.0安装教程 进行安装。接着使用git安装vim的包管理工具Vundle git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim 然后在vim的配置文件~/.vimrc中添加如下内容 set nocompatible " required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle,

【分享】文字、表格、公式图片识别神器V0.8

瘦欲@ 提交于 2020-12-05 15:50:56
【介绍】历经多次版本更新,终于发布了正式版。 img2txt V0.8 【正式版】 第1步:win10自带截图快捷键:Win+Shift+S,也可以用QQ等截图工具; 第2步:打开软件,完成初始配置(后续调用无需再配置),按需识别: (1)百度文字识别快捷键:Ctrl+b,50000次/天(免费),免输入随机码 (2)百度表格识别快捷键:Ctrl+n,50次/天(免费),免输入随机码 (3)百度图转文字+,批量识别imgs文件夹中的图片,免输入随机码 (4)高级转换(公式):Ctrl+m,不限调用次数,需输入随机码 (5)学而思文字识别,100次/天(免费),免输入随机码 (6)学而思表格识别,100次/天(免费),免输入随机码 (7)学而思公式识别: 简单公式100次/天(免费),免输入随机码 复杂公式100次/天(免费),需输入随机码 链接: https://pan.baidu.com/s/1kj29pFjLniQ9THbUSZMNlA 提取码: 6pp2 效果展示 来源: oschina 链接: https://my.oschina.net/u/4312499/blog/4775976

GDI绘图

孤者浪人 提交于 2020-12-05 06:44:43
什么是GDI+ GDI+ (Graphics Device Interface) 是一种绘图装置接口, 可将应用程序和绘图硬件分隔, 让我们能够编写与装置无关的应用程序。它可以让我们不需注意特定显示装置的详细数据, 便可在屏幕或打印机显示信息。我们可以呼叫 GDI+ 类别所提供的方法, 然后这些方法会适当地呼叫特定的装置驱动程序, 而完成绘图。而且与.NET进行了更好的融合。 GDI (Graphics Device Interface), 是属于绘图方面的 API (Application Programming Interface)。 因为应用程序不能直接控制硬件, 所以当我们要进行绘图的动作时, 必须透过 GDI 才能完成。 确定坐标系:1.确定原点 2.确定x,y轴和方向 Graphics提供了非常多的绘图的方法可以让我们进行绘制。 绘图方法 Graphics 类别的常用绘图方法有: DrawLine(直线)、 DrawRectangle (矩形)、 DrawEllipse (椭圆)、 DrawCurve (曲线)、 DarwArc (弧线)、 DrawPie (扇形)、 DrawLines (多边形)、 DrawPolygon (封闭多边形)、 DrawBezier (贝兹曲线)等。 使用GDI绘制简单的图形 // 绘制一条直线 private void button1

微信小程序项目实战之豆瓣天气

假装没事ソ 提交于 2020-12-01 21:18:29
概述 微信小程序项目实战之豆瓣天气 详细 代码下载: http://www.demodashi.com/demo/10943.html 一、准备工作 1、注册微信小程序 2、在小程序设置中设置request合法域名 3、将项目导入开发工具即可运行 二、程序实现 1、项目代码截图: 2、主要API: //获取电影信息 getMovie: function () { var that = this var url = "https://api.douban.com/v2/movie/in_theaters"; var params = { city : "广州" }; wx.request({ url: url, data: params, header: { "content-type": "json" }, success: function (res) { that.setData({ subjects: res.data.subjects }) }, fail: function (res) { }, complete: function (res) { }, }) }, 3、主页面实现html: <!--index.wxml--> <swiper indicator-dots="true" indicator-active-color="#2AAC5E" indicator