1. 程式人生 > >【OpenCV】提取圖片某一塊

【OpenCV】提取圖片某一塊

正在做一個基於內容的影象檢索專案,客戶要求可以讓使用者提取圖片上的任意形狀的子圖作為輸入。為了實現這個功能,花了不少精力,中間繞了不少圈子。現在問題總算解決了,把主要的思路記錄一下,希望能幫到有同樣需求的朋友。

      由於這個專案使用了第三方的開源影象庫opencv,所以這個功能也是藉助opencv來實現的。

      首先需要解決的是在圖片中繪製曲線的問題,思路很簡單,只需要響應滑鼠事件通過描點、連線的方式就可以完成。在opencv中需要使用回撥來響應滑鼠事件,opencv中文站上有很好的示例,關鍵程式碼:

01 #include "cv.h"
02 #include "highgui.h"
03 #include
04
05
06
07
08
09 <stdio.h>
10
11
12
13
14
15
16 #include
17
18
19
20

相關推薦

OpenCV提取圖片一塊

正在做一個基於內容的影象檢索專案,客戶要求可以讓使用者提取圖片上的任意形狀的子圖作為輸入。為了實現這個功能,花了不少精力,中間繞了不少圈子。現在問題總算解決了,把主要的思路記錄一下,希望能幫到有同樣需求的朋友。       由於這個專案使用了第三方的開源影象庫ope

opencv獲取圖片點畫素值的兩種方法

1. 通過指標訪問畫素值 IplImage *Temp=*iterIplOri; uchar *dataaa=(uchar*)Temp->imageData; int step=Temp->widthStep/sizeof(uchar); in

OpenCV提取視訊中指定幀

在進行專案的過程中,需要對一個視訊的指定幀圖片進行儲存,在下面的程式中,想要的幀數為140,200,260,320,380,440,500,560,720,780,800 使用OpenCV進行實現的相關函式如下: //將視訊中的指定幀存為圖片 void Vedio2Imag

OpenCVMFC圖片、視頻、攝像頭輸入響應詳細圖解

tsp box 背景建模 img 有變 highgui 復制 creat int 記住新建項目後,要配置OpenCV環境!參考鏈接http://blog.csdn.net/zy122121cs/article/details/49180541 做工程搭建框架什麽的,基本的

如何修改Contrl List 一塊的顏色呢eCXVw

葉子 成了 清茶 語言 童年 中間 自己 消失 昨天 <p>  薔薇的盛開,是一場盛大的花!事。它們一叢叢、一片片、千朵萬朵的閃爍著深紅的光暈。盛夏裏,它們花瓣流光,滿枝燦爛,像流瀉的花瀑,像努放的生命,肆意的炫耀著絢麗的重彩。 花開如雲。想,這詞大概就是寫給薔

OpenCv 如何把圖片的矩形、多邊形區域內容置零

#include <iostream> #include <opencv2/opencv.hpp> #include "opencv2/core/core.hpp" #include "opencv2/highgui/highgui.hpp" using namesp

opencv經典的細化提取骨架理論及原始碼

本章我們學習一下Hilditch演算法的基本原理,從網上找資料的時候,竟然發現兩個有很大差別的演算法描述,而且都叫Hilditch演算法。不知道那一個才是正宗的,兩個演算法實現的效果接近,第一種演算法更好一些。 第一種演算法描述參考paper和程式碼: Linear

OpenCVopencv處理透明圖片

OpenCV處理透明圖片,主要是考慮圖片的疊加。 //主函式操作 Mat dest,srcAlpha; //-1表示讀取帶有alpha通道的圖片 srcAlpha = imread("1.p

筆記canvas圖片預加載及進度條的實現

函數 style uil 圖片加載 mage code 重繪 執行 ces /*star *loading模塊 *實現圖片的預加載,並顯示進度條 *參數:圖片數組對象,加載完成的回調函數 */ function loadImages(sources,c

Java提取JSON數值時遇到數組集合時使用的K-V方式轉換

方法 eee 數組 comm subst arr port jsonarray mob 1.實體類轉換方法 參照文章:http://www.cnblogs.com/dflmg/p/6933811.html 2.K-V方法(此方法比較笨,但是沒有辦法,我現在不知道有沒有相關的

OpenCVimread讀取數據為空

依賴 技術分享 分享 bug features 附加 分開 什麽 ont 直接加配置好的props文件到新的工程時,會出現imread讀出來的Mat為空的情形,搜了一下,發現是opencv的配置問題!!! 是這樣的,之前配置時為了省事兒,無論是Debug還是Release中

java提取excel轉json

print code .cn object exceptio ace json keyset read 1 import jxl.Cell; 2 import jxl.Sheet; 3 import jxl.Workbook; 4 import net.sf.js

opencvJava實現的opencv3.x版本後Highhui報錯

-a sun div fan let 版本 ava line 報錯 隨筆為博主原創,如需轉載,請註明出處。 opencv3.x以後Highgui不再使用,用Imgcodecs代替,引入import org.opencv.imgcodecs.Imgcode

pythonpython圖片轉字符畫

python#知識: #1)pillow:對圖像進行處理 #im = Image.open(IMG) 打開圖像 #im.resize 設置圖像大小 #Image.NEAREST 設置圖像質量,最低質量 #im.getpixel 返回給定位置的像素值 #2)argparse:命令行參數處理:說白了就是定義腳

Linux先添加一塊磁盤制作LVM卷並進行分區掛載

分區類型 nbsp mount -a 之前 檢查 開機 說明 分區掛載 and linux服務器新添加一塊硬盤,可以直接將盤格式化掛載就能用,比如掛載在/usr/local目錄,但是這樣有一個弊端,就是如果這一塊磁盤滿了,後續想要擴容的話,不能繼續掛載這個/usr/loca

OpenCV透視變換矯正

file info 事件 ima 變換 data include imshow spec 演示結果參考: 功能實現:運行程序,會顯示圖片的尺寸,按回車鍵後,依次點擊需矯正的圖片的左上、右上、左下、右下角,結果彈出矯正後的圖片,如圖上的PIC2對話框。按下字符‘q‘後

OpenCV圖像增強---灰度變換、直方圖均衡化

test 增強 映射 display 得到 .cpp scalar pic 重要 圖像增強的目的:改善圖像的視覺效果或使圖像更適合於人或機器的分析處理。通過圖像增強,可以減少圖像噪聲,提高目標與背景的對比度,也可以增強或抑制圖像中的某些細節。 -------------

opencvVideoCapture打不開本地視頻文件或者網絡IP攝像頭

target 返回結果 avi ole rtsp div 圖片文件 視頻 路徑 1、前提:成功打開本地USB攝像頭 // 創建VideoCapture對象 VideoCapture vc = new VideoCapture(); // 可以成功打開本地USB攝像頭

opencv目標識別——HSV顏色識別

首先解釋為什麼不在RGB中設定範圍尋找物體資訊,而是在HSV中: 因為RGB通道並不能很好地反映出物體具體的顏色資訊 , 而相對於RGB空間,HSV空間能夠非常直觀的表達色彩的明暗,色調,以及鮮豔程度,方便進行顏色之間的對比,比如紅色在HSV空間中H維度的範圍為0~10和160~180 你跟我說

OpenCV一些常用小類彙總 (size等)

Backto OpenCV Index size OpenCV 中 size 直接給定數值的建構函式是 Size(double width, double height) 竟然不是和 Mat 一致的 (height, width), 簡直匪夷所思.