python如何做成app?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

python如何做成app?

工具:python-3.8.3-amd64.exe+kivy1.10.0+VirtualBox-6.1.34-150636-Win.exe
Kivy 是一套用于跨平台快速应用开发的开源框架,只需编写一套代码,便可运行于各大桌面及移动平台上(包括 Linux, Windows, OS X, Android, iOS, 以及 Raspberry Pi) Kivy 采用 Python 和 Cython 编写,在国外已经十分火爆,受关注程度甚至一度超越了老牌的 Python GUI 工具 PyQt。可惜 Kivy 在国内还鲜为人知。这一篇先教大家,在 Windows 上 安装 Kivy。
具体需要的工具都在百度网盘的名称为: python如何做成app的文件夹里

一、Python3.8.3版本+kivy1.10.0

1、安装python3.8.3
2、Cmd命令运行,查看python版本
Python –version
寻找python位置:where python
3、安装pycharm 2021.1
4、在pycharm里的文件-》设置-》python解释器:更改刚才安装的python3.8.3安装路径
如: C:\Python38\python.exe
5、在+号那安装查找kivy等各种依赖包#

二、用命令提示符(可cmd弹出)安装查找kivy等各种依赖包

1、请确保你的电脑上,已经安装了 Python 3.8.3, 并且已经设置好了 pip 国内源(国内镜像)。
2、设置匹配的国内镜像,可以让其他下载乃更快一点:
可以试试: pip install pip-setting
然后 pip-setting
3、通过命令安装virtualenv并创建虚拟环境。输入命令pip install virtualenv并执行。

4、输入命令python -m pip install –upgrade pip 升级pip版本。

5、执行成功后,可以查看升级是否成功。查看pip,输入命令pip show pip,
可以看到当前的pip版本已升级到20.2.3,可以进行下一步安装。

6、执行命令,生成虚拟环境:virtualenv testvir
7、在BISO里打开virtualenv

一、Windows 下安装 kivy

  1. 启动 Windows 命令行窗口(可直接在pycharm里文件-》设置-》python解释器-》在+号那安装查找kivy等各种依赖包安装)
    按 Windows 徽标 + R,输入 cmd,再按回车启动 Windows 命令行窗口
    二. pycharm安装 kivy 依赖(和下面的 pip 安装 kivy 依赖 _效果一致, 用pycharm安装kivy的依赖包更加方便点_
    可直接在pycharm里文件-》设置-》python解释器-》在+号那安装查找kivy等各种依赖包安装)
    1.分别查找:docutils、pygments、pypiwin32、sdl2、glew、gstreamer、image
    2、查找到之后,找到和下面的长得差不多的依赖包来安装就好,不一定就是一模一样(有的是横线代替小圆点)
    docutils、 pygments、 pypiwin32 、kivy.deps.sdl2 、kivy.deps.glew、
    kivy.deps.gstreamer、 image
    三. pip 安装 kivy 依赖
    在 windows 命令行中,执行以下命令:
    (1) python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
    (2) python -m pip install kivy.deps.gstreamer
    下面这个install image很多教程都没有。这个是我实操得出来的。
    (3)python -m pip install image
  2. 安装 kivy
    在 windows 命令行中,执行以下命令:
    python -m pip install kivy
  3. 安装 kivy 官方示例
    在 windows 命令行中,执行以下命令:
    python -m pip install kivy_examples

三、验证 kivy 安装

在 Python IDLE 或 在pycharm里新建一个python文件:main.py,依次输入下面的代码:(注意缩进)

from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
def build(self):
return Button(text=’iPaoMi’)

TestApp().run()
最后,你将看到执行上面的 Python 代码,会运行如下的窗口,这可以算是 kivy 版的 hello world 了。

python如何做成app?

或者下面的代码(是一个小孩子很喜欢的自由彩色画板):

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Color,Ellipse,Line
from random import random
from kivy.uix.button import Button

class MyWidgetWidget(Widget):
def on_touch_down(self, touch):
color=(random(),random(),random())
with self.canvas:
Color(*color)
touch.ud[‘Line’]=Line(points=(touch.x,touch.y),width=5)

def on_touch_move(self, touch):
    touch.ud['Line'].points=touch.ud['Line'].points+[touch.x,touch.y]

class MyPaintApp(App):
def build(self):
parent=Widget()
self.painter=MyWidgetWidget()
clearbtn=Button(text=”Clear”)
clearbtn.bind(on_release=self.clear_canvas)
parent.add_widget(self.painter)
parent.add_widget(clearbtn)
return parent

def clear_canvas(self,obj):
    self.painter.canvas.clear()

if name==’ main‘:
MyPaintApp().run()

python如何做成app?

通过 kivy 提供的打包工具,你可以将 kivy 程序打包,运行到不同的平台上,包括各大主流的桌面系统和手机上(如 Android, iOS)。

**

四、安装上虚拟机VirtualBox

**
版本:VirtualBox-6.1.34-150636-Win.exe
1、下载VirtualBox-6.1.34-150636-Win.exe安装,下载Oracle_VM_VirtualBox_Extension_Pack-6.1.34.vbox-extpack,(Oracle_VM_VirtualBox_Extension_Pack-6.1.34.vbox-extpack存放到D盘的VirtualDisk文件夹)
2、安装上虚拟机VirtualBox后运行,然后直接双击Oracle_VM_VirtualBox_Extension_Pack-6.1.34.vbox-extpack就把这扩展安装上了(安装后可在VirtualBox-》管理-》全局设定-》扩展,即看见此扩展)。
在安装虚拟系统

python如何做成app?
3、建立共享文件夹
因为虚拟机无法和Windows直接交互,所以文件传输必须依靠共享文件夹进行)。

我在这里创建了一个VirtualDisk文件夹作为共享文件夹
【这一步可以理解为创建一个空白文件夹】,我们需要记住它的位置。在VirtualDisk文件夹里存放下载好的kivydev.ova

(我这里在D盘里新建了三个文件夹,virtualbox文件夹用来安装VirtualBox-6.1.34-150636-Win.exe,VirtualDisk文件夹用来存放kivydev.ova和Oracle_VM_VirtualBox_Extension_Pack-6.1.34.vbox-extpack,virtualbox_system文件夹用来存放安装kivydev.ova系统的虚拟系统盘)

4、导入kivydev.ova系统
安装完成的虚拟机是没有任何系统的,此时需要导入kivydev.ova系统。
在【管理】菜单下,点击【导入虚拟电脑】
选择下载好的kivydev.ova文件

python如何做成app?
注意:在安装虚拟系统盘时出现安装不上去的情况,返回 代码: E_INVALIDARG (0x80070057)解决方法
导入
可能是一开始安装了一下,然后取消安装了。
比如我直接导入,一开始忘了修改虚拟机路径,然后点了安装,然后我取消了,然后就去别的地方安装了。
[En]

For example, I imported it directly, forgot to modify the virtual machine path at first, then ordered the installation, then I canceled it, and then went to another place to install it.

返回 代码: E_INVALIDARG (0x80070057)的错误,然后我找到了之前的默认路径,把之前取消安装的残余给删掉了,然后我又打开了打开VirtualBox管理器(重新安装VirtualBox-6.1.34-150636-Win.exe)
安装好虚拟系统盘如下图所示:
python如何做成app?
5、配置虚拟机
点击设置进入虚拟机设置界面,找到下方的[共享文件夹],点击右侧加号,添加共享文件夹位置。

[En]

Click Settings to enter the settings interface of the virtual machine, then find the bottom [shared folder], click the plus sign on the right, and add the shared folder location.

python如何做成app?
粘贴我们先前创建的[共享文件夹]位置,勾选“自动挂载”,点击“确定”,配置完成。
[En]

Paste the [shared folder] location we created earlier, tick “Auto Mount”, click OK, and the configuration is complete.

python如何做成app?

五、编辑一个kivy程序进行测试
(我们已经完成了kivy安装和虚拟机部分的安装,接下来就要把pycharm里运行好的main.py,放在虚拟机内进行调用,进行打包测试。)

六、打包成Apk文件
1、打开我们创建完成的虚拟机。点击启动,耐心等待到进入Linux桌面。

python如何做成app?
2、打开桌面的File System,接着点击左边栏sf_VirtualDisk(我们之前创建的共享文件夹)。里面有我们保存的”main.py”和”kivydev.ova”。
python如何做成app?
注意:进去系统后发现没有看见共享文件夹,怎么办?
办法如下:
oracle VM virtualbox安装增强功能与设置全屏

虚拟机:VirtualBox
要使用全屏和共享等功能需要为虚拟机安装增强功能>>

点击”设备”–>”安装增强功能”

桌面上会出现光驱图标,VBOXADDITIOINS_3.28_64453,如果没有也可以在media文件夹中去找
(2)安装增强功能

打开它,找到里面的VBoxLinuxAdditions-x86.run

打开终端,进入到 cd /media/VBOXADDITIONS_XXX写上以下命令:
#sh VBoxLinuxAdditions.run 运行丫的(不需要#号)

到此,增强功能安装完毕, reboot
(3)现在在虚拟系统里可以看见共享文件夹

3、点击左边栏kivydev目录下找到kivy,在kivy目录下进入accordion。再将”main.py”复制到当前目录下(即/home/kivydev/kivy/accordion/目录下)。它会覆盖此目录下的示例——一个main.py文件。因为打包的时候,主程序的名字都是main.py。

右击空白区域,打开 Open Terminal Here命令框。

python如何做成app?
(如果目录下没有buildozer.spec文件,执行这一步)在此框内键入以下代码,生成一个buildozer.spec文件
buildozer init

python如何做成app?
接着再输入命令,打开buildozer.spec文件,主要修改Title(应用名字,我设置为SamplePainter),package.name(打包名,同样设置成SamplePainter),package.domain(打包成哪一种ios或者安卓,这里我不改,默认打包成安卓文件)。
其余的建议暂时不要修改。
修改完成后保存 Save,关闭文件,回到命令框。
gedit buildozer.spec

在命令框内键入:

buildozer android_new debug

进行打包,此过程需要等待几分钟。

python如何做成app?
打包完成,按照提示的地址寻找打包后的文件。
python如何做成app?
关闭命令框,在bin文件夹下看见我们的应用SamplePainter,另一个MyApplication是示例文件,不予理会。
python如何做成app?
把这个文件复制到共享文件夹内。
python如何做成app?
七、发送到手机并安装
回到Windows,打开我们的共享文件夹VirtualDis,可以看见创建的SamplePainter.apk文件。
python如何做成app?
把文件发送到手机,【注意】如果文件名后缀不是apk,请手动重命名为apk后缀。安装到手机。
在这里插入图片描述,用手机打开App,可看到效果。

总结

   在cmd里安装kivy会产生很多和版本不一的问题,建议大家下载的python版本要和此文一致,记得 升级pip版本,cmd里运行:python -m pip install --upgrade pip,直接用pycharm安装kivy等各种依赖包安装比较方便。

  注意:该文章有部分来源于网页上各位前辈的文章和自己的实操,如有侵权行为,请联系本人。

参考资料:
1、 来自” 海底捞淡水鱼” ,链接: https://blog.csdn.net/qq_37030400/article/details/107620264
2、来自 ” ITPUB博客 ” ,链接:http://blog.itpub.net/29674916/viewspace-2086547/,
如需转载,请注明出处,否则将追究法律责任。

Original: https://blog.csdn.net/weixin_39378260/article/details/124787119
Author: 幸运_39378260
Title: python如何做成app?



相关阅读

Title: 图像质量评价matlab实现(含代码)

这篇是上两篇的一个延续吧,对偏振HSI伪彩色图像融合增强效果的一个评价

代码里面包含了很多种评价方式,附带一个评价说明,链接如下:

图像质量评价指标(全),可结合blog-机器学习文档类资源-CSDN下载

python如何做成app?

下面是我大作业用到了的,share!

随着经济指纹图像信息技术的广泛应用,指纹图像质量的褒贬不一成为一个庞大而困难的基础问题。加之指纹图像信息的来源具有其他数据信息无法比拟的独特的优势,所以在指纹图像采集、处理、传输和记录过程中,由于目前指纹图像成像系统所、处理第一种方法、传输介质和记录辅助设备的不完善,以及运动物体、噪声污染等原因,势必地会造成一些叠加图像曝光过度和劣化。这给图像质量评价问题带来了很大的困难。例如,在指纹图像识别中,采集到的指纹图像成品质量随后影响识别最终结果的准确性和可靠性。当然,对图像质量的合理评价具有丰富而且重要的应用价值。

  1. 人类视觉系统(HVS)

a) 从空间频域来看,人眼是一个低通线性系统

b) 人眼对亮度的响应具有对数非线性性质

c) 人类对亮度信号的空间分辨率大于对色度信号的空间分辨率

d) 人眼视觉系统对信号进行加权求和运算,相当于使信号通过一个带通滤波器。

e) 图像的边缘信息对视觉很重要,特别是边缘的位置信息,人眼容易感觉到边缘的位置变化,而对边缘的灰度误差并不敏感

f) 人眼的视觉掩盖效应是一种局部效应,受背景照度、纹理复杂性和信号频率的影响,具有不同局部特性的区域,在保证不被人眼察觉的前提下,允许改变的信号强度不同

  1. 分类

图像质量评价(IQA),根据参考图片(reference image),即原始图片的存在与否,可分为:

a) 全参考(full-reference)方法

b) 半参考(reduced-reference)方法

c) 无参考(no-reference)方法

其中,FR方法研究比较成熟,相关方法较多。RR方法只有原始图片的部分信息,相关方法不是很有效,NR方法目前还处于研究中,因此我们这里只对FR方法进行介绍

  1. FR方法

FR方法需要同时用到原始图片和失真图片,对二者的特征进行相似性比较。一般来说,FR-IQA包括两类方法,一种是传统的自底向上方法,这类方法基于HVS的某些视觉通路,如掩盖效应,对比灵敏度,最小可视差等,由于HVS的复杂性和认知的有限性,这类自底向上的方法通常很难与主观感知保持一致;比较经典的自底向上方法有MSE/PSNR。另一种是自顶向下的方法。这类方法对HVS的整体函数进行建模,利用了图像的全局信息,与主观感知的一致性要高于前一类方法。

图像质量大众评价其次采用客观核心指标进行图像质量历史评价,选取了以下几个重要意义代表性作品的评价指标:

(1)SSIM指数:SSIM测量系统由三个对比模块组成,分别是亮度、对比度、结构。

(2)平均梯度(Average Gradient):也称为清晰度,反映了图像中的微小细节反差与纹理变化特征,同时也反映了图像的清晰度,越大越好。

(3)图像质量的评价熵值:指纹图像的平均信息量,从信息论的角度衡量图像呈现中的信息量。指纹图像中信息的熵越大,指纹叠加图像包含的内部信息就越多。

(4)峰值信噪比(PSNR): PSNR越高,说明融合效果与质量越好。

指数

自然图像具有极高的结构性,表现在图像的像素间存在着很强的相关性,这些相关性在视觉场景中携带着关于物体结构的重要信息。我们假设人类视觉系统(HSV)主要从可视区域内获取结构信息。所以通过探测结构信息是否改变来感知图像失真的近似信息,衡量两幅图像的相似度。物体表面的亮度信息与照度和反射系数有关,且场景中的物体的结构与照度是独立的,反射系数与物体有关。 我们可以通过分离照度对物体的影响来探索一张图像中的结构信息。

这里,把与物体结构相关的亮度和对比度作为图像中结构信息的定义。因为一个场景中的亮度和对比度总是在变化的,所以我们可以通过分别对局部的处理来得到更精确的结果。

python如何做成app?

python如何做成app?

python如何做成app?

python如何做成app?

第三,在正常视距内,人们只能将视线聚焦在图像的一个区域内,所以局部处理更符合人类视觉系统的特点;第四,局部质量检测能得到图片空间质量变化的映射矩阵,结果可服务到其他应用中。

可以利用滑动窗将图像分块,令分块总数为N,考虑到窗口形状对分块的影响,采用高斯加权计算每一窗口的均值、方差以及协方差,然后计算对应块的结构相似度SSIM,最后将平均值作为两图像的结构相似性度量,即平均结构相似性MSSIM。将HIS融合图和HSI偏振角图和HSI偏振度图进行SSIM评价:

结果为0.1698和0.044,说明融合后图像相较于HSI偏振角图与HSI偏振度图在亮度、对比度、结构均有了较大改进。

python如何做成app?

熵值

信息论之父克劳德·香农给出的信息熵的三个性质:

(1)单调性,发生概率越高的事件,其携带的信息量越低;

(2)非负性,信息熵可以看作为一种广度量,非负性是一种合理的必然;

(3)累加性,即多随机事件同时发生存在的总不确定性的量度是可以表示为各事件不确定性的量度的和,这也是广度量的一种体现。

熵表示图像所包含的平均信息量的多少,嫡值越大则所含信息量越多,信息熵的定义公式:

python如何做成app?

融合后图像熵值相较于HSI偏振角图略有增高,比HSI偏振度图的熵值略低,说明融合后图像的信息量基本没有变化,图像不存在失真与变化。

峰值信噪比

峰值信噪比(PSNR), 一种评价图像的客观标准。它具有局性,PSNR是”PeakSignaltoNoiseRatio”的缩写。peak的中文意思是顶点。而ratio的意 思是比率或比列的。整个意思就是到达噪音比率的顶点信号,psnr一般是用于最大值信号和背景噪音之间的一个工程项目。通常在经过影像压缩之后,通常输 出的影像都会在某种程度与原始影像不同。为了衡量经过处理后的影像品质,我们通常会参考PSNR值来衡量某个处理程序能否令人满意。它是原图像与被处理图 像之间的均方误差相对于(2^n-1)^2的对数值(信号最大值的平方,n是每个采样值的比特数),它的单位是dB。PSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而它是基于对应像素点间的误差,即基于误差敏感的图像质量评价。由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。

给定一个大小为 m×nm×n 的干净图像 II 和噪声图像 KK,均方误差 (MSE)定义为:

python如何做成app?

上面是针对灰度图像的计算方法,如果是彩色图像,通常有三种方法来计算。

分别计算 RGB 三个通道的 PSNR,然后取平均值。

计算 RGB 三通道的 MSE ,然后再除以 3 。将图片转化为 YCbCr 格式,然后只计算 Y 分量也就是亮度分量的 PSNR。

MSE表示当前图像X和参考图像Y的均方误差(Mean Square Error),H、W分别为图像的高度和宽度;PSNR的单位是dB,数值越大表示失真越小。

一般来说,PSNR高于40dB说明图像质量极好(即非常接近原始图像),在30—40dB通常表示图像质量是好的(即失真可以察觉但可以接受),在20—30dB说明图像质量差;最后,PSNR低于20dB图像不可接受。

求融合后图像峰值信噪比为58.7560,说明图像质量较好。

Original: https://blog.csdn.net/weixin_46188211/article/details/124662215
Author: 居安士
Title: 图像质量评价matlab实现(含代码)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/222761/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总