原创 對Python的描述符的理解

1、描述符(property的原理) __get__(self, instance, owner):用於訪問屬性,它返回屬性的值 __set__(self,instance, owner):將在屬性分配操作中調用,不返回任何內容 __de

原创 對圖像處理、計算機視覺和OpenCV的理解

什麼是圖像處理? 通俗來說就是對圖像進行處理。專業點來說,圖像處理主要指使用計算機對目標圖像進行處理,達到預期的效果的一種技術。圖像處理主要包括三個部分:圖像的壓縮,圖像的增強和復原以及圖像的描述、識別、匹配。 什麼是計算機視覺?

原创 OpenCV中,使用三種方式獲得圖像的像素

方式一:通過指針獲取圖像的像素 獲得圖像的行數 使用ptr()函數,獲得圖像的行指針 獲取圖像的列數,這裏需要注意一下,如果是多通道的圖像,圖像的列數需要乘以該圖片的通道數 需要獲得圖像的列函數 對圖像進行處理 #include <op

原创 python中關於列表(list)、元組(tuple)、詞典(dictionary)和集合(set)的小結

類型 特徵 增 刪 改 查 列表(list) [  ] append() extend() insert() list() remove(已知元素) del 索引 pop() 先刪除再添加 in  not in   比如:‘py

原创 OpenCV中,關於canny算子、sobel算子、laplacian算子和scharr濾波器小結

1、canny算子 void Canny(InputArray src, OutputArray edges, double threshod1, double threshod2, int apertureSize = 3, bool

原创 OpenCv中常見的API小結(持續更新中...)

1、圖片整型像素值轉換成浮點型像素值 src.convertTo(dst, CV_32F); //src:8UC3代表8位無符號三通道數值類型;dst:32f代表浮點型數值 2、確保像素值在0-255之間 saturate_ca

原创 在opencv中,繪製彩色圖片的三個通道的圖像直方圖

1、繪製圖像直方圖的步驟 調用split函數,將彩色圖像的通道進行分離 調用calcHist函數,返回Mat類型的向量 如果要在特定長寬的圖像中顯示圖像直方圖,需要進行歸一化操作 在for循環中繪製直線 2、具體函數講解 (1) spli

原创 sobel算子進行邊緣檢測

使用sobel算子進行邊緣檢測的步驟如下:  1、高斯模糊,降噪。因爲sobel算子對噪聲比較敏感,因此要先對原圖像進行高斯模糊,降噪 2、將圖像轉換成灰度圖像 3、使用sobel函數,求x和y方向上的導數。 4、將x方向的導數(邊緣)和

原创 OpenCv中,對圖片像素進行處理的方法小結

1、獲取像素的對象 通過src.at<uchar>(row,col)獲取單通道像素;通過src.ar<Vec3b>(row,col)[i](i=0,1,2)獲取紅綠藍三通道的像素。 //獲取圖像的像素 int height = sr

原创 在OpenCV中,如何得到彩色的邊緣圖像?

1、首先通過Canny()函數進行邊緣檢測,得到邊緣圖像 Canny(gray, edge, 3, 9, 3); //gray灰度圖像   2、以邊緣圖像作爲掩膜,將原圖彩色圖像拷貝到目標圖像上 srcImage.copyTo

原创 對掩膜操作算法的思考

1、什麼是掩膜操作? 掩膜操作是一種使用特定物品對某一區域進行掩蓋,從而能夠對指定區域進行特殊處理的一種操作方式。 2、掩膜操作的作用 在進行圖像處理中,通過掩膜操作能夠提升圖像整體的對比度,使得圖片更加醒目。 第一幅是沒有經過掩膜操作的

原创 繪製圖片直方圖的兩種方法(line函數和rectangle函數)

 1、繪製直方圖有兩種方法 通過line函數,繪製直線實現 通過rectangle函數,繪製矩形實現 源碼如下: #include <opencv2/opencv.hpp> #include <opencv2/imgproc.hpp>

原创 在OpenCV中提取水平直線,垂直直線和一些字符

1、先讀取圖像 imshow("原圖像", src);   首先要獲取源文件圖片,方便進行操作。  2、將RGB圖像轉換成灰度圖像 //將原圖像轉換成灰度圖像 Mat grayImage; cvtColor(src, grayIma