自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 Python 视频的色彩转换

HSL 是色相、饱和度、亮度( Hue、Saturation、Lightness ),HSV 是色相、饱和度、明度( Hue、Saturation、Value ),又称HSB ( Brightness )。HSL 和HSV 模型都把颜色描述在圆柱坐标系内的点,这个圆柱的中心轴取值为自底部的黑色到顶部的白色而在它们中间的是灰色,绕这个轴的角度对应于「色相」 ,到这个轴的距离对应于「饱和度」,而沿着这个轴的高度对应于「亮度」、「色调」或「明度」下方的程式码执行后,会将来源的彩色图片,转换成灰阶视频。

2024-07-10 14:35:00 498

原创 Python OpenCV 教学取得视频资讯

以下方的程式码为例,可以印出一张4x4 的图片阵列,可以看到每一个像素都有B、G、R 三个颜色资讯,颜色范围均是0~255 ( 范例图片将4x4 放大,比较容易理解)。既然能取得图片的每个像素资讯,就能针对这些像素进行修改,举例来说,透过阵列切片赋值的方法,就能将一张去除图片中的红色、绿色或蓝色。,通常色版数量( 色彩通道) 会由R、G、B 色光三原色组成,如果影像不具有三个色版,则只会取得宽与长。这篇教学会介绍使用OpenCV,取得影像的长宽尺寸、以及读取影像中某些像素的颜色数值。

2024-07-09 14:32:11 262

原创 Python + 读取 / 写入视频

使用cvtColor() 方法可以改变图片的色彩,如果将视频每一帧的图片套用cvtColor(),最后就会呈现的改变颜色的视频,下面的程式码执行后,就会读取电脑摄影机,并将彩色视频转换成黑白色彩的影片,最后储存为黑白的视频。cvtColor() 方法可以改变图片的色彩,如果将视频每一帧的图片套用cvtColor(),最后就会呈现的改变颜色的视频,下面的程式码执行后,就会读取电脑摄影机,并将彩色视频转换成黑白色彩的视频。可以建立一个空的「视频档」,将撷取到的影像图片组成新的串流格式,写入空的视频档案里。

2024-07-08 16:09:00 1017

原创 Python + OpenCV 开启图片、写入储存图片

下面的范例使用numpy 函式库,快速产生500x500,每个项目为[0,0,0] 的三维阵列,接着再让阵列中间的正方形区域的项目设定为[0,0,255],呈现的就是一张500x500 大小,黑色背景,中间200x200 红色正方形的图形,最后使用imwrite() 的方法,就能储存这张图片。imshow() 包含两个参数,第一个参数为字串,表示要开启图片的视窗名称,第二个参数为使用imread()读取的图片。如果设定第二个参数,就能使用不同的色彩模式开启图片,下面的程式码执行后,会以灰阶模式开启图片。

2024-07-06 20:28:07 486 1

原创 Python + OpenCV 酷游地址教学V鄋KWK3589

OpenCV 安装完成后,将一张测试的图片放到指定位置( 范例中将图片和Python 程式码放在同一格资料夹里),执行下方程式码,就会开启图片指定的图片,如果可以看到图片,表示OpenCV 已经可以正常运作( 点击开启的视窗后,按下键盘的q 可以关闭图片)。OpenCV 是一个跨平台的电脑视觉函式库( 模组) ,可应用于脸部辨识、手势辨识、图像分割...等影像辨识相关的领域,这篇教学将会简单介绍OpenCV 函式库,以及使用Anaconda 安装OpenCV 函式库。安装OpenCV 函式库。

2024-07-01 21:31:10 520

原创 转换Python2 转 Python3 小程序

print 上python3要求使用者将参数加上()号。import 函式库上httplib 在python3中被取代为http.client。try-except 将原本的,改为as。藉由python35\Tools\scripts\2to3.py 档转换。Linux中Python2.x 转换Python3.x。转换Python2 -> Python3。2.python3 自动化为浮点数。结果与windows相同。

2024-06-30 15:18:34 293

原创 Python_Socket

是通讯中的一种方式,主要用来处理客户端与伺服器端之串连,只需要protocol、IP、Port三项目即可进行网路串连。

2024-06-29 23:00:54 979

原创 Python爬虫实作篇

发现GET来的档案格式是JSON,那小编比较不会处理JSON怎办?3.一开始需要先GET宠物版首页,并使用BeautifulSoup处理成html样式,还有开一个txt存目录。运用BeautifulSoup查看是否有符合图片的标签,然后运用上次所学,将图片存档。5.根据把首页往下滑,发现网站会对server送一个GET请求下一个30篇文章。9.记得将刚刚的txt目录关档,并写一个爬虫结束提醒自己。接下来就是将list里的URL,GET网页出来。4.将首页文章的连结网址存入list中。

2024-06-28 15:37:04 914

原创 Python爬虫小人生3

将图片页面GET下来后,将其转为二进制方式,因为接下来要将图片的二进制存到本地端档案中(此动作就是下载)今天我们来讲爬图片的方式,爬图片也是利用Python套件requests实作,所以先import进来。接下来,在本地端开启一个档案(权限为可写,二进制),将图片二进位写进去,并记得关闭档案!即可完成图片爬虫(完整版程式码),打开本地资料夹就可以看到图片(img1.png)其实爬图片也是将图片页面GET下来做处理。

2024-06-13 15:56:39 737

原创 KU地址Python之爬虫小人生

此时可先开启浏览器开发者模式(F12),并点选至network(网路),观察点选「已满18岁」后,会送给伺服器之封包内容。而封包内的参数,则可以加在POST后面,由前述可得知参数为from和yes,并得知参数内容。因为我们需要撷取多页(ex:3页),所以需要重新撰写程式码,藉由回圈来重复GET网页。那我们就可以藉由撷取上一页a标签里的网址来GET上一页的网页下来了!发现封包以POST发送,并且封包内容有cookie和参数。加上上一次写的程式码,成功爬到八卦版的网页。下一页按钮的HTML标签内容。

2024-06-07 16:20:21 761

原创 Python之爬虫小人生

因为我想选取的是网页里的文章标题,所以soup.select中放的才是div.title a。到这里就是正式的进入到可撰写Python code(Ctrl + Enter编译)将抓下来的资料用Beautifulsoup4转为HTML的parser。可于浏览器中自动开启Jupyter notebook的页面。学习程式语言的第一步Hello world!最后写一个回圈将爬下来的文章标题印出来。点选右上角的python3新建档案。将Python套件import进来。完整的code与展示。

2024-06-06 16:19:40 183

原创 Python-标准神经网路DNN第三篇

和之前比较不一样的是我们还要做 compile 才正式把我们的神经网路建好。你可以发现我们还需要做几件事:1.决定使用的 loss function, 一般是 mse2.决定 optimizer, 我们用标准的 SGD3.设 learning rate4.为了一边训练一边看到结果, 我们加设 metrics=['accuracy']本行基本上和我们的神经网路功能没有什么关系。

2024-06-04 16:05:52 854

原创 Python-标准神经网路DNN第二篇

原来的每笔数据是个 28x28 的矩阵 (array), 但标准神经网路只吃「平平的」, 也就是每次要 28x28=784 长的向量。第二层 hidden layer 因为前面输出是 500, 现在输入是 500, 就不用再说了!标准一层一层传递的神经网路叫 Sequential, 于是我们打开一个空的神经网路。而我们又说第一次要用标准神网路试试, 所以我们只需要再决定要几个隐藏层、每层要几个神经元, 用哪个激发函数就可以了。那这意思是有可能是 0, 也有可能是 1 吗!至此我们可以打造我们的神经网路了。

2024-06-03 14:50:17 374

原创 Python-标准神经网路DNN

它是 "Modified" 版的 NIST 数据库, 原来的版本有更多资料。这个 Modified 的版本是由 LeCun, Cortes, 及 Burges 等人做的。MNIST 可以说是 Deep Learning 最有名的范例, 它被 Deep Learning 大师 Hinton 称为「机器学习的果蝇」。特别要注意的是, 万一在读的过程中失败, 你需要找到下载的部份数据集删去, 然后在一个网路通𣈱的地方再下载一次。我们人眼辨识就知道这是 1, 我们看答案是不是和我们想的一样。

2024-06-02 16:44:54 636

原创 python之类别以及模组

与Java 相比,Python 的类别不支援interface 和protected 修饰词,但允许多重继承。

2024-05-26 17:25:25 205

原创 python-任意 / 拆解 引数列表

当引数们已经存在一个list 或tuple 里,但为了满足一个需要个别位置引数的函式呼叫,而去拆解它们时,情况就刚好相反。例如,内建的Range()函式要求分开的。最后,有个较不常用的选项,是规定函式被呼叫时,可以使用任意数量的引数。这些引数会被包装进一个tuple 中。(可变的)引数会出现在参数列表的最末端,这样它们就可以把所有传递给函式的剩余输入引数都捞起来。参数后面的任何参数必须是「仅限关键字」引数,意即它们只能作为关键字引数,而不能用作位置引数。如果这些引数不是分开的,则要在呼叫函式时,用。

2024-05-22 14:59:13 105

原创 Python 例外处理-对应错误时不终止程式

当程式发生错误就会跳出对应的错误讯息并且中止程式,例外处理可以让错误发生时,不中止程式,并可以做出适当的处理。得知當檔案無法找到會跳出FileNotFoundError。当程式码发生错误就会往下找到第一个符合的例外情况。else和finally可以省略。可以藉由故意犯错来知道错误讯息。

2024-05-20 15:36:54 448

原创 Python-变数的范围

变数范围的讨论,虽然略嫌无趣,然而若没有搞清楚相关规则,很容易就发生名称冲突,导致一些不可预期的臭虫,不可不慎。,可以指明变数并非区域变数,请直译器依照区域函式、外包函式、全域、内建的顺序来寻找变数,就算是指定运算时,也要求是这个顺序。Python 的变数不用事先宣告,一个名称在指定值时,就可以成为变数,并建立起自己的作用范围(Scope)。当然,无论是哪种程式语言,除非是概念上真的是全域的名称,否则都不鼓励使用全域变数,因此应避免。,可以取得全域变数的名称与值,在全域范围呼叫。作了指定值的动作呢?

2024-05-18 18:31:54 451

原创 Python匿名函式lambda

lambda 函式是「只有一行」的函式,可以用来处理一些小型函式,就可以不用为了一小段程式码,额外新增一个有名称的函式,这篇教学将会介绍Python 的匿名函式。下方的程式将lambda 函式sorted 方法搭配,当sorted 方法设定key 参数时,会根据key 进行排序,所以会根据阵列中第二个项目的大小进行排序。下方的程式将lambda 函式filter 方法搭配,filter 方法会将True 的项目留下,所以新串列的项目都会是大于5 的数字。lambda 函式的使用方法为。

2024-05-17 20:51:45 117

原创 酷游Python链接函式function

上述两种方法也可合并使用,如程式范例,参数x,y,z对应到”apple”, 20, [1,2,3];args对应到30, “code”;1.利用参数位置进行传递,subtraction_value(10, 20) 10对应到x, 20对应到y,如引数位置互换,会产出不一样的结果。如在定义函式时有设定参数,呼叫时务必有引数,否则会出现TypeError,如下程式范例,错误讯息会提醒少一个引数。如上述程式范例,预设值为food = “apple”,如呼叫函式有给引数,直接使用引数,如无,使用预设值。

2024-05-16 15:43:24 534

原创 Python 之LIST作为Queue/ Stack 使用方式

List 的操作方法使得它非常简单可以用来实作stack(堆叠)。Stack 为一个遵守最后加入元素最先被取回(后进先出,"last-in, first-out")规则的资料结构。我们也可以将list 当作queue(伫列)使用,即最先加入元素最先被取回(先进先出,"first-in, first-out")的资料结构。然而,list 在这种使用方式下效率较差。来插入和取出头端的元素较慢(因为其他元素都需要挪动一格)。,其被设计成能快速的从头尾两端加入和取出。来加入和取出尾端的元素较快,而使用。

2024-05-13 20:15:50 250

原创 Python - 型态转换及字串基础

结合、*复制、[]取字元、[start:end:step]切片、len()取长、split()分割、join()结合。四则运算的话,int和float相遇最后结果会变成float,以求保留较多的资料。比如int和float的互转,只需要使用int()或float()即可。在Python中,一个字串的资料,是用两个单引号或两个双引号括起来的,也就是'apple'中的'a'是a[0],请读者务必记得从0开始!0会被当成伪,1会被当成真,a[0:4:1]也可以写成a[: 4:1]或者a[:4]

2024-05-12 16:11:53 834

原创 Python 之List Comprehension基础语法教学

先看前三行,我们用了List Comprehension,但没有把它放进List里面,而是把它塞在变数里,之后把他的值与型别印出来看看。但基本上,使用List Comprehension的方式应该会比传统方法来的快很多。如先前所说,List Comprehension除了在语法上比较简洁优美以外,效率上也是赢过传统的方式。好的,在体验List Comprehension的威力之前,先来用比较基本的方式来产生List。这个功能是以一个特别的方式应用for回圈,并创造出带有元素的List。

2024-05-08 20:43:11 369

原创 Python九州基础链接语法教学

先看前三行,我们用了List Comprehension,但没有把它放进List里面,而是把它塞在变数里,之后把他的值与型别印出来看看。但基本上,使用List Comprehension的方式应该会比传统方法来的快很多。如先前所说,List Comprehension除了在语法上比较简洁优美以外,效率上也是赢过传统的方式。好的,在体验List Comprehension的威力之前,先来用比较基本的方式来产生List。这个功能是以一个特别的方式应用for回圈,并创造出带有元素的List。

2024-05-06 16:16:46 773 1

原创 Python 基础语法教学Part 3

如果你还记得昨天我们说过的index,一个长度为5的List,其中每个元素对应的index就刚好为。,这个变数即为我们从容器所取出的元素,因此在每次执行回圈的过程中,这个。直观一点,你可能会想说,写个10行程式码,每一行处理一个元素。所以在其他程式语言中,for回圈的基本型都是要你给定执行次数。身为一个程式设计师,你一定要认识回圈界的明星,那就是所谓的。的长度为5,因此会产生一个大小为5的range,里面放有。我们产生了一个含有10个元素的range,内部的元素为。到底会印出什么,再把注解拿掉,执行程式。

2024-05-04 15:56:51 237

原创 【无标题】

因为大部分的情况下,我们都要同时处理很多笔资料,因此序列容器的操作都必须非常熟悉才行。以机器学习来说,通常会取得很多数据给程式来学习,这时候要怎么操作储存这些资料的容器,就是一大重点呢!与Tuple最大的不同处在于,针对一个以创建的阵列,你可以随时增加或减少其内部资料的个数,也可以修改里面的内容。一个比较好理解的方式为,其实String就像是一堆字元排在一起组合而成的(字元指的为一个字)。必须特别注意的是,一旦Range被创建了,里面的内容是。内的整数,故得名Range。需要注意的是,字串的内容也是。

2024-05-02 22:38:56 16 1

原创 Python 基础语法教学

简单来说,型别决定了这个变数可用来储存什么样格式的资料,并且定义了相对应的操作。不过在Python中,宣告变数并不用事先给定型别,他会依照你给他的初始值来决定变数的型别。用上述的比较运算子,我们即可写出各种不同的条件来控制程式的流程,有空一定要自己试试看喔!变数在程式中,扮演中储存资料的角色。注解虽然会出现在程式码里面,但是并不会被执行,是个很适合为程式新增说明的手段。写程式的时候,很常遇到某些情况,如:达成条件要做A,未达成要做B。执行下方的程式,并在终端机输入你的名字,看看会发生什么事。

2024-05-01 21:34:38 11

原创 System Verilog是什么?

开发虚拟模型的目的是为了提前软体的开发时程,以往的开发模式往往是等到硬体开发完成之后才开始开发软体,但这种模式会导致软体开发的时程会受到硬体开发影响,但有了虚拟模型之后可以提早软体的开发,也可以及早的给予硬体开发回馈,比如说透过虚拟模型去测试性能,可以在硬体开发的早期提供数据。以往的电路开发其实没有电路验证工程师(DV),都是采取自己设计自己验证的方式,但是随着设计的复杂度越来越高我们开始需要花费更多的时间在验证上,通常时采取一个电路设计工程师(DD)搭配一个电路验证工程师(DV)的方式。

2024-04-29 15:19:03 448

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除