本文目錄一覽:
- 1、用python摳圖(背景透明化)
- 2、Python如何圖像識別?
- 3、為什麼做AI的都選Python?
- 4、學Python職業前景怎麼樣
- 5、python可以自動排海報嗎
- 6、如何用 Python 實現一個摳圖功能
用python摳圖(背景透明化)
matplotlib讀取RGB圖片的時候,往往把圖片轉化為四通道圖片,其中第四個通道是α通道,可以決定圖像的透明度。
如果把圖片的前景的透明度設定為1,背景的透明度設定為0,那麼就算去掉了背景了。
原圖。
代碼。
出圖。
有部分白色背景由於不夠白,被保留了下來。
換圖。
觀察可知,背景是深淺不一的藍色。
深色參數是a[0,0],淺色區域比較多,也不容易確定位置。
用如下代碼摳圖,太狠!
再修改代碼。
if a[i,j,2]1.5*a[i,j,0] and a[i,j,2]1.2*a[i,j,1]:
不準摳去黑色部分。經過逐步調整顏色閾值,得到下面的效果。
上面代碼如下。
Python如何圖像識別?
Python圖片文本識別使用的工具是PIL和pytesser。因為他們使用到很多的python庫文件,為了避免一個個工具的安裝,建議使用pythonxy
pytesser是OCR開源項目的一個模塊,在Python中導入這個模塊即可將圖片中的文字轉換成文本。pytesser調用了tesseract。當在Python中調用pytesser模塊時,pytesser又用tesseract識別圖片中的文字。pytesser的使用步驟如下:
首先,安裝Python2.7版本,這個版本比較穩定,建議使用這個版本。
其次,安裝pythoncv。
然後,安裝PIL工具,pytesser的使用需要PIL庫的支持。
接着下載pytesser
最後,將pytesser解壓,這個是免安裝的,可以將解壓後的文件cut到Python安裝目錄的Lib\site-packages下直接使用,比如我的安裝目錄是:C:\Python27\Lib\site-packages,同時把這個目錄添加到環境變量之中。
完成以上步驟之後,就可以編寫圖片文本識別的Python腳本了。參考腳本如下:
from pytesser import *
import ImageEnhance
image = Image.open(‘D:\\workspace\\python\\5.png’)
#使用ImageEnhance可以增強圖片的識別率
enhancer = ImageEnhance.Contrast(image)
image_enhancer = enhancer.enhance(4)
print image_to_string(image_enhancer)
tesseract是谷歌的一個對圖片進行識別的開源框架,免費使用,現在已經支持中文,而且識別率非常高,這裡簡要來個helloworld級別的認識
下載之後進行安裝,不再演示。
在tesseract目錄下,有個tesseract.exe文件,主要調用這個執行文件,用cmd運行到這個目錄下,在這個目錄下同時放置一張需要識別的圖片,這裡是123.jpg
然後運行:tesseract 123.jpg result
會把123.jpg自動識別並轉換為txt文件到result.txt
但是此時中文識別不好
然後找到tessdata目錄,把eng.traineddata替換為chi_sim.traineddata,並且把chi_sim.traineddata重命名為eng.traineddata
ok,現在中文識別基本達到90%以上了
為什麼做AI的都選Python?
為什麼人工智能要用Python?總結了以下三個原因。
1、Python是解釋語言,程序寫起來非常方便
寫程序方便對做機器學習的人很重要。因為經常需要對模型進行各種各樣的修改,這在編譯語言里很可能是牽一髮而動全身的事情,Python里通常可以用很少的時間實現。舉例來說,在C等編譯語言里寫一個矩陣乘法,需要自己分配操作數(矩陣)的內存、分配結果的內存、手動對BLAS接口調用gemm、最後如果沒用smart pointer還得手動回收內存空間。Python幾乎就是import numpy; numpy.dot兩句話的事。
當然現在很多面向C/C++庫已經支持託管的內存管理了,這也讓開發過程容易了很多,但解釋語言仍然有天生的優勢——不需要編譯時間。這對機器學習這種需要大量prototyping和迭代的研究方向是非常有益工作效率的。
2、Python的開發生態成熟,有很多庫可以用
Python靈活的語法還使得包括文本操作、list/dict comprehension等非常實用的功能非常容易高效實現(bbs.cnitedu.cn),配合lambda等使用更是方便。這也是Python良性生態背後的一大原因。
相比而言,Lua雖然也是解釋語言,甚至有LuaJIT這種神器加持,但其本身很難做到Python這樣,一是因為有Python這個前輩佔領着市場份額,另一個也因為它本身種種反常識的設計(比如全局變量)。不過藉著Lua-Python bridge和Torch的東風,Lua似乎也在寄生興起。
3、Python效率超高
解釋語言的發展已經大大超過許多人的想象。很多比如list comprehension的語法糖都是貼近內核實現的。除了JIT之外,還有Cython可以大幅增加運行效率。最後,得益於Python對C的接口,很多像gnumpy,theano這樣高效、Python接口友好的庫可以加速程序的運行,在強大團隊的支撐下,這些庫的效率可能比一個不熟練的程序員用C寫一個月調優的效率還要高。
以上就是總結的人工智能要用Python的三個原因。
學Python職業前景怎麼樣
一、人工智能
Python作為人工智能的黃金語言,選擇人工智能作為就業方向是理所當然的,而且就業前景好,薪資普遍較高,拉勾網上,人工智能工程師的招聘起薪普遍在20K-35K,當然,如果是初級工程師,起薪也已經超過了12500元/月。
二、大數據
我們目前正處於大數據時代,Python這門語言在大數據上比Java更加有效率,大數據雖然難學,但是Python可以更好地和大數據對接,用Python做大數據的薪資也至少是20K以上了,大數據持續火爆,未來做大數據工程師,薪資還將逐漸上漲。
三、網絡爬蟲工程師
網絡爬蟲作為數據採集的利器,在大數據時代作為數據的源頭,十分有用武之地。利用Python可以更快的提升對數據抓取的精準程度和速度,是數據分析師的福祉,通過網絡爬蟲,讓BOSS再也不用擔心你沒有數據。做爬蟲工程師的的薪資為20K起,當然,因為大數據,薪資也將一路上揚。
四、Python web全棧工程師
全棧工程師是指掌握多種技能,並能利用多種技能獨立完成產品的人。也叫全端工程師(同時具備前端和後台能力),英文Full Stack developer。全棧工程師不管在哪個語言中都是人才中的人才,而Python web全棧工程師工資基本上都高出20K,所以如果你能力足夠,首選就是Python web全棧工程師。
五、Python自動化運維
運維工作者對Python的需求很大,小夥伴們快快行動起來吧,學習Python自動化運維也能有個10k-15k的工資,很不錯哦
六、Python自動化測試
Python這門語言十分高效,只要是和自動化有關係的,它可以發揮出巨大的優勢,目前做自動化測試的大部分的工作者都需要學習Python幫助提高測試效率。用Python測試也可以說是測試人員必備的工具了,Python自動化測試的起薪一般也都是15K左右,所以測試的小夥伴也需要學習Python哦!
python可以自動排海報嗎
可以。通過編碼後可實現。
批量摳圖:輸入文字和海報元素,就可以一鍵自動排版海報,一個小時就幾十張。
如何用 Python 實現一個摳圖功能
使用Python和OpenCV進行摳圖
其中使用了opencv中的grabcut方法
直接上代碼
[python] view plain copy
# encoding:utf-8
# 圖像提取
# create by
import numpy as np
import cv2
from matplotlib import pyplot as plt
img = cv2.imread(‘1.jpg’)
mask = np.zeros(img.shape[:2], np.uint8)
bgdModel = np.zeros((1, 65), np.float64)
fgdModel = np.zeros((1, 65), np.float64)
rect = (20, 20, 413, 591)
cv2.grabCut(img, mask, rect, bgdModel, fgdModel, 10, cv2.GC_INIT_WITH_RECT)mask2 = np.where((mask == 2) | (mask == 0), 0, 1).astype(‘uint8’)img = img * mask2[:, :, np.newaxis]
img += 255 * (1 – cv2.cvtColor(mask2, cv2.COLOR_GRAY2BGR))# plt.imshow(img)
# plt.show()
img = np.array(img)
mean = np.mean(img)
img = img – mean
img = img * 0.9 + mean * 0.9
img /= 255
plt.imshow(img)
plt.show()
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/191987.html