一、環(huán)境
由于這學(xué)期開了圖像處理這門課,所以想著在各種實(shí)驗(yàn)開始之前自己先動(dòng)手試一下
圖像處理那首先要配個(gè)環(huán)境嘛,配環(huán)境真的是我長(zhǎng)久以來(lái)的噩夢(mèng)了,每次都會(huì)出現(xiàn)奇奇怪怪的問(wèn)題,首先上網(wǎng)查找了一下,opencv這個(gè)庫(kù)還是用的比較多的,如果想要使用c++來(lái)做圖像處理的話,那么使用visual studio搭配opencv是比較常見的,所以就照著網(wǎng)上的教程下載好了vs之后下載了opencv的包,將包導(dǎo)入指定的路徑也設(shè)置好環(huán)境變量之后發(fā)現(xiàn)還是不行,怎么辦呢?這個(gè)時(shí)候想到那還不如自己直接用python,一來(lái)現(xiàn)在python使用的越來(lái)越多,二來(lái)方法也多,語(yǔ)法什么的也比較簡(jiǎn)單,正好自己電腦上之前配置了pycharm,這樣省了很多事
本來(lái)以為直接在pycharm里面的settings里面導(dǎo)入opencv的包就可以了,可是查了一下發(fā)現(xiàn)沒有,這里還是要自己從網(wǎng)上下載然后導(dǎo)入,還是好麻煩呀,從網(wǎng)上查到可以從anaconda里面下載,比較方便,可是一個(gè)問(wèn)題是我的pycharm的python解釋器是用的自己下載的,而沒用anaconda自帶的解釋器,這樣下載下來(lái)可能也用不了,機(jī)智的我想到把原來(lái)的解釋器卸載掉然后使用anaconda帶來(lái)的解釋器不就得了,不巧的是卸載的時(shí)候腦子一熱把a(bǔ)naconda也卸載了……(這可怎么辦好)無(wú)奈下只好重新下載了anaconda
anaconda有兩種下載途徑,第一種是從官網(wǎng)下載,第二種是使用清華鏡像,清華鏡像要快一點(diǎn),但是一個(gè)問(wèn)題是pycharm使用的時(shí)候會(huì)報(bào)錯(cuò),這個(gè)時(shí)候要修改一個(gè).condarc文件,后來(lái)又出了各種問(wèn)題我就想那還是用國(guó)外的下載吧,慢就慢一點(diǎn)唄,意外的是其實(shí)也沒有很慢,這個(gè)時(shí)候又出了一個(gè)錯(cuò)誤,這時(shí)候重新使用國(guó)外下載的版本會(huì)報(bào)另外一個(gè)錯(cuò)誤,有些博客提到使用conda update 或者conda update --reset這兩條指令,由于前面修改了.condarc文件,所以并沒有解決我的問(wèn)題。可以采用兩種方法解決,第一種是改回原來(lái)的樣子,但是如果像我一樣忘了原來(lái)的文件怎么辦,就可以用第二種方法,將這個(gè)文件刪掉,再重新執(zhí)行conda update,成功了。
接下來(lái)是修改pycharm中的解釋器,需要提到的是不僅要修改interpreter,還需要在pycharm的run按鈕旁邊的這個(gè)位置
我這里對(duì)應(yīng)到cvtest2的下拉框,找到edit configuration,修改其中使用的解釋器,不然的話由于原來(lái)的python解釋器和現(xiàn)在的anaconda解釋器不同,仍然會(huì)提示路徑錯(cuò)誤,找不到python
就在剛剛可以在pycharm中運(yùn)行cv且不報(bào)錯(cuò)的時(shí)候,突然發(fā)現(xiàn)anaconda自帶了一個(gè)神奇的小東西,它的名字叫做spyder,這個(gè)小可愛如果早點(diǎn)出現(xiàn)的話,可省了我好多麻煩
spyder是什么呢?
嗯這是一個(gè)看著很讓人喜歡的python編譯器,界面大概是這樣的
簡(jiǎn)潔又可愛是不是?更好的是在這個(gè)環(huán)境里,anaconda下載的庫(kù)可以直接使用,我的cv使用的第一個(gè)成功 的例子就是在spyder運(yùn)行成功的,對(duì)它的好感又多了一分。
二、實(shí)例——讀取一個(gè)圖片
opencv這個(gè)庫(kù)提供了很多有關(guān)圖像處理的方法,在這里我們首先執(zhí)行一個(gè)可以讀取圖片的程序:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import cv2 as cv # 讀入圖片文件 src = cv.imread( 'e:\\360movedata\\users\\administrator\\desktop\\things2_0\\flower.jpg' ) # 創(chuàng)建一個(gè)名字加 “ input image ” 的窗口, # 窗口可以根據(jù)圖片大小自動(dòng)調(diào)整 cv.namedwindow( 'input image' , cv.window_autosize) # 在窗口顯示圖片 cv.imshow( 'input image' , src) # 等待用戶操作 cv.waitkey( 0 ) # 釋放所有窗口 cv.destroyallwindows() |
imread這個(gè)方法提供了讀取數(shù)據(jù)的方法,下面的namewindow方法根據(jù)其名字就可以得知是對(duì)讀取圖片之后彈出的窗口做設(shè)置的,具體可看代碼中注釋,接下來(lái)我們看一下執(zhí)行出來(lái)的效果
哈,讀取出來(lái)的圖片和保存的原圖是一樣的,這是我要學(xué)習(xí)圖像處理的第一步,那么下一步就要對(duì)這個(gè)圖片做一些改動(dòng),這部分放在下一篇博客再講
以上所述是小編給大家介紹的python圖像處理入門詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)服務(wù)器之家網(wǎng)站的支持!
原文鏈接:https://blog.csdn.net/LieberVater/article/details/88542062