Opencv獲取影象上的畫素值(Ubuntu版)
前言:當需要製作自己的訓練集的時候,標註圖片上的檢測目標,是一件比較耗時費力的事情。下面記錄的就是其中一種方法。
1.程式碼:
2.在Ubuntu系統下開啟命令提示符,cd到你的圖片及程式碼路徑下:import argparse import cv2 refPt=[] cropping=False def click_and_crop(event,x,y,flags,param): global refPt,cropping if event == cv2.EVENT_LBUTTONDOWN: refPt=[(x,y)] print(x,y) cropping=True elif event == cv2.EVENT_LBUTTONUP: refPt.append((x,y)) print(x,y) cropping=False cv2.rectangle(image,refPt[0],refPt[1],(0,255,0),2) cv2.imshow("image",image) # 構造引數解析器並解析引數 ap = argparse.ArgumentParser() ap.add_argument("-i", "--image", required=True, help="Path to the image") args = vars(ap.parse_args()) # 載入影象,複製它,並設定滑鼠回撥函式 image = cv2.imread(args["image"]) clone = image.copy() cv2.namedWindow("image") cv2.setMouseCallback("image", click_and_crop) # 保持迴圈,直到按下“q”鍵 while True: # 顯示影象並等待按鍵 cv2.imshow("image", image) key = cv2.waitKey(0) & 0xFF # 如果按下“r”鍵,則重置裁剪區域 if key == ord("r"): image = clone.copy() # 如果按下“c”鍵,則從迴圈中斷開 elif key == ord("c"): break # 如果有兩個參考點,則從影象裁剪感興趣的區域並顯示它 if len(refPt) == 2: roi = clone[refPt[0][1]:refPt[1][1], refPt[0][0]:refPt[1][0]] cv2.imshow("ROI", roi) cv2.waitKey(0) # 關閉所有開啟的視窗 cv2.destroyAllWindows()
3.輸入:python 0005.py --image 01.jpg
(其中,0005.py為python程式碼名稱,01.jpg為需要標定的圖片)
4.在開啟的image視窗中點選你需要標記的目標,最終結果如下:
相關推薦
Opencv獲取影象上的畫素值(Ubuntu版)
前言:當需要製作自己的訓練集的時候,標註圖片上的檢測目標,是一件比較耗時費力的事情。下面記錄的就是其中一種方法。 1.程式碼: import argparse import cv2 refPt=[] cropping=False def click_and_crop(e
opencv修改影象的畫素值
本節知識點 1,讀寫影象 a,imread可以載入灰度圖或者RGB影象 b,imwrite儲存影象,型別由副檔名決定 2,讀寫影象的畫素 a,讀取灰度影象畫素點的值(CV_8UC1) Scalar i
Opencv獲取並改變影象的畫素值
#include <iostream> using namespace std; #include "cv.h" #include "highgui.h" #pragma comment(lib,"cxcore.lib") #pragma comment(l
OpenCV獲取與設定畫素點的值的幾個方法
Code 1 : int main() { //新建一個uchar型別的單通道矩陣(grayscale image 灰度圖) Mat m(400, 400, CV_8U, Sca
opencv學習筆記存取畫素值
我不想永遠是小明,我也想成為小紅。 椒鹽噪點:隨機的將部分畫素設定為白色或黑色。如果部分畫素丟失,那麼這種噪點就會出現。 cout是輸出,屬於iostream,格式:cout<< CV_[位數][帶符號與否][型別字首]C[通道數],如CV
opencv獲得影象某點畫素值等
http://docs.opencv.org/2.4/doc/user_guide/ug_mat.html cv::Mat 獲取資料的下標和值 float intensity1 = frame.at<uchar>(pFaceInfo.iEyeLY,&
opencv在影象上畫矩形框
實現程式碼: #include "opencv2/opencv.hpp" using namespace cv; void main() { Mat src = imread("bird.jpg"); Rect re
OpenCV在影象上畫線、矩形、橢圓、多邊形、填充的多邊形、圓、顯示文字
OpenCV在影象上隨機畫直線、橢圓、多邊形、圓、顯示文字 程式碼如下: /** * @file Drawing_2.cpp * @brief Simple sample code */ #include <opencv2/core.hpp> #inc
在 cocos2d-x 中獲取紋理的畫素值
本文基於cocos2d-x 2.2.3 專案需要一個功能,就是在點選某個不規則邊緣圖片的時候,不響應圖片的透明部分。 以前在 AS3 中處理類似需求的時候,就是獲取點選點的畫素值,得到 Alpha 的值,然後根據 Alpha 的值來判斷是否需要響應。 但在 cocos2d-
python封裝configparser模塊獲取conf.ini值(優化版)
att 模塊 沒有 自動化測試 .com for getconf dict import 昨天晚上封裝了configparser模塊,是根據keyname獲取的value。python封裝configparser模塊獲取conf.ini值 我原本是想通過confi
阿里雲上cdh5 hbase搭建(單機版)
一、簡介 HBase是一種構建在HDFS之上的分散式、面向列的儲存系統。在需要實時讀寫、隨機訪問超大規模資料集時,可以使用HBase。 儘管已經有許多資料儲存和訪問的策略和實現方法,但事實上大多數解決方案,特別是一些關係型別的,在構建時並沒有考慮超大規模和分散式的特點。許多商家通過複製和分割
opencv 簡單的實現霍夫變換(改進版)
//霍夫變換 輸入單通道二值影象 檢測直線數量 void HoughLines(Mat &img,int n) { int i,j; //行列 int row = img.rows; int col = img.cols; //極徑最大值為 對角線+寬 int max_r
《數字影象處理原理與實踐(MATLAB版)》一書之程式碼Part3
本文系《數字影象處理原理與實踐(MATLAB版)》一書之程式碼系列的Part3,輯錄該書第135至第184頁之程式碼,供有需要讀者下載研究使用。程式碼執行結果請參見原書配圖。-------------------------------------------P139orig
數字影象處理原理與實踐(MATLAB版)勘誤表
本文系《數字影象處理原理與實踐(MATLAB版)》一書的勘誤表。【內容簡介】本書全面系統地介紹了數字影象處理技術的理論與方法,內容涉及幾何變換、灰度變換、影象增強、影象分割、影象去噪、小波變換、形態學處
《數字影象處理原理與實踐(MATLAB版)》一書之程式碼Part1
本文系《數字影象處理原理與實踐(MATLAB版)》一書之程式碼系列的Part1(P1~42),程式碼執行結果請參見原書配圖。P20I = imread('lena.jpg');BW1 = im2bw(I
滑動視窗的最大值(java版)
【題目描述】給定一個數組和滑動視窗的大小,找出所有滑動窗口裡數值的最大值。例如,如果輸入陣列{2,3,4,2,6,2,5,1}及滑動視窗的大小3,那麼一共存在6個滑動視窗,他們的最大值分別為{4,4,6,6,6,5}; 針對陣列{2,3,4,2,6,2,5,1}
Activity之間進行傳值的方式以及Activity的回傳值(補充版)
1、使用Intent進行Activity傳值 1)使用setClass方法來制定我們要跳轉的Activity Intent intent=new Intent(this,SecondActivity.class); intent.putExtra(key,value); s
基於opencv 識別、定位二維碼 (c++版)
前言 因工作需要,需要定點陣圖片中的二維碼;我遂查閱了相關資料,也學習了opencv開源庫。通過一番努力,終於很好的實現了二維碼定位。本文將講解如何使用opencv定位二維碼。 定位二維碼不僅僅是為了識別二維碼;還可以通過二維碼對影象進行水平糾正以及相鄰區域定位。定位二維碼,不僅需要影象處理相關知識,還需要
opengl入門(ubuntu版)(一)
原帖地址: 我寫的東西大部分是我學習的體會或是工作中遇到問題,所以很多東西可能不是很“精準”,但我儘量做到好理解、好使用。 如果想比較系統學習opengl可以先從一本叫《opengl超級寶典》的書入手,而且我建議對於沒有任何opengl的基礎的人要看這本書的第四版。因為,opengl在
Hadoop 通過bind9配置DNS伺服器替代hosts的IP對映(ubuntu版)
最開始搭建hadoop叢集時,我是用hosts的ip對映實現的各個主機名與IP之間的對映關係。 但是,hosts的ip對映的缺點是,當我們在叢集裡面增加一個機器時,所有機器都要更新他們的hosts檔案,這樣就顯得很繁瑣。 通過查詢資料,可以使用bind9配置DNS來替代原先