最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?OpenCV圖像處理之SIFT角點(diǎn)檢測(cè)詳解

 更新時(shí)間:2022年02月18日 15:23:53   作者:深色風(fēng)信子  
SIFT,即尺度不變特征變換,是用于圖像處理領(lǐng)域的一種描述。這種描述具有尺度不變性,可在圖像中檢測(cè)出關(guān)鍵點(diǎn),是一種局部特征描述子。本文將詳細(xì)介紹一下Java?OpenCV圖像處理中的SIFT角點(diǎn)檢測(cè),需要的可以參考一下

介紹

在某些情況下對(duì)圖像進(jìn)行縮放后,角點(diǎn)信息可能會(huì)丟失,這時(shí)候Harri便不能檢測(cè)到所有的角點(diǎn)。SIFT(scale-invariant feature transform) 剛好克服了這個(gè)問(wèn)題,對(duì)圖像特征的檢測(cè),盡量不受圖像尺寸變化的影響.SIFT并不直接檢測(cè)關(guān)鍵點(diǎn)。

其中關(guān)鍵點(diǎn)的檢測(cè)是由DOG(Difference of Gaussians)檢測(cè)完成的(DOG是通過(guò)不同的高斯濾波器對(duì)同一張圖像進(jìn)行處理,來(lái)得到關(guān)鍵點(diǎn)的)。SIFT僅通過(guò)特征向量來(lái)描述特征點(diǎn)周圍的像素情況。

示例代碼

package com.xu.opencv;

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfKeyPoint;
import org.opencv.core.Scalar;
import org.opencv.features2d.Features2d;
import org.opencv.features2d.SIFT;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

/**
 * @Title: Image.java
 * @Description: OpenCV-4.0.0 測(cè)試文件
 * @Package com.xu.Image
 * @author: hyacinth
 * @date: 2022年2月18日12點(diǎn)20分
 * @version: V-1.0.0
 * @Copyright: 2019 hyacinth
 */
public class Image {

    static {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    }

    public static void main(String[] args) {
        sift();
    }

    /**
     * OpenCV-4.1.0 SIFT 角點(diǎn)檢測(cè)
     *
     * @return void
     * @Author: hyacinth
     * @Title: harris
     * @Description: TODO
     * @date: 2022年2月18日12點(diǎn)32分
     */
    public static void sift() {
        Mat src = Imgcodecs.imread("D:\\OneDrive\\桌面\\1.png");
        Mat gray = new Mat();
        Imgproc.cvtColor(src, gray, Imgproc.COLOR_BGR2GRAY);
        SIFT sift = SIFT.create(8000);
        MatOfKeyPoint point = new MatOfKeyPoint();
        sift.detect(gray, point);
        Features2d.drawKeypoints(src, point, src, new Scalar(0, 0, 255), Features2d.DrawMatchesFlags_DRAW_RICH_KEYPOINTS);
        HighGui.imshow("SIFT 角點(diǎn)檢測(cè)", src);
        HighGui.waitKey(0);
    }
}    

效果圖

補(bǔ)充

角點(diǎn)檢測(cè)除了有SIFT算法,還有FAST算法

FAST(Features from Accelerated Segment Test)算法會(huì)在像素周圍繪制一個(gè)圓,圓內(nèi)包含16個(gè)像素,F(xiàn)AST算法是將圓內(nèi)的像素分別與加上一個(gè)閾值的圓心像素作比較,若圈內(nèi)出現(xiàn)連續(xù)的幾個(gè)像素比加上一個(gè)閾值的像素還亮或是暗,則可認(rèn)為圓心是角點(diǎn).FAST是一個(gè)很有效率的檢測(cè)算法,但是需要確定閾值參數(shù)來(lái)檢測(cè)角點(diǎn)。

BRIEF(Binary Robust Independent Elementary Features)在OpenCV中主要是通過(guò)detectAndCompute()來(lái)實(shí)現(xiàn),這個(gè)函數(shù)包含兩個(gè)部分,檢測(cè)和計(jì)算,同時(shí)也返回兩個(gè)結(jié)果.一個(gè)是檢測(cè)到的關(guān)鍵點(diǎn),一個(gè)是描述符.SIFT和SURF也是這樣.關(guān)鍵點(diǎn)的描述符包含了圖像的關(guān)鍵信息,可看作是圖像的另一種表現(xiàn)形式,在比較兩個(gè)圖像的時(shí)候可以通過(guò)比較兩個(gè)圖像的特征描述來(lái)實(shí)現(xiàn).也可以用來(lái)做圖像特征的匹配。

下面將展示通過(guò)FAST算法進(jìn)行角點(diǎn)檢測(cè)的示例代碼,需要的可以參考一下

package com.xu.opencv;

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfKeyPoint;
import org.opencv.core.Scalar;
import org.opencv.features2d.Features2d;
import org.opencv.features2d.ORB;
import org.opencv.features2d.SIFT;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

/**
 * @Title: Image.java
 * @Description: OpenCV-4.0.0 測(cè)試文件
 * @Package com.xu.Image
 * @author: hyacinth
 * @date: 2022年2月18日12點(diǎn)20分
 * @version: V-1.0.0
 * @Copyright: 2019 hyacinth
 */
public class Image {

    static {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    }

    public static void main(String[] args) {
        fast();
    }

    public static void fast() {
        Mat src = Imgcodecs.imread("D:\\OneDrive\\桌面\\5.jpeg");
        Mat gray = new Mat();
        Imgproc.cvtColor(src, gray, Imgproc.COLOR_BGR2GRAY);
        ORB orb = ORB.create(500, 1.2f, 8, 31, 0, 2, ORB.HARRIS_SCORE, 31, 20);
        MatOfKeyPoint point = new MatOfKeyPoint();
        orb.detect(gray, point);
        Features2d.drawKeypoints(src, point, src, new Scalar(0, 0, 255), Features2d.DrawMatchesFlags_DRAW_RICH_KEYPOINTS);
        HighGui.imshow("FAST 角點(diǎn)檢測(cè)", src);
        HighGui.waitKey(0);
    }
}

效果圖

到此這篇關(guān)于Java OpenCV圖像處理之SIFT角點(diǎn)檢測(cè)詳解的文章就介紹到這了,更多相關(guān)Java OpenCV 角點(diǎn)檢測(cè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java判斷字節(jié)流是否是 UTF8編碼方法示例

    Java判斷字節(jié)流是否是 UTF8編碼方法示例

    這篇文章主要我大家介紹了Java判斷字節(jié)流是否是 UTF8編碼方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Java中靜態(tài)代碼塊、構(gòu)造代碼塊、構(gòu)造函數(shù)和普通代碼塊的區(qū)別

    Java中靜態(tài)代碼塊、構(gòu)造代碼塊、構(gòu)造函數(shù)和普通代碼塊的區(qū)別

    在Java中,靜態(tài)代碼塊、構(gòu)造代碼塊、構(gòu)造函數(shù)、普通代碼塊的執(zhí)行順序是一個(gè)筆試的考點(diǎn),通過(guò)這篇文章希望大家能徹底了解它們之間的執(zhí)行順序,需要的朋友可以參考下
    2023-05-05
  • springboot集成opencv實(shí)現(xiàn)人臉識(shí)別功能的詳細(xì)步驟

    springboot集成opencv實(shí)現(xiàn)人臉識(shí)別功能的詳細(xì)步驟

    大家都知道OpenCV是一個(gè)基于BSD許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上今天通過(guò)本文給大家分享springboot集成opencv實(shí)現(xiàn)人臉識(shí)別,感興趣的朋友一起看看吧
    2021-06-06
  • SpringBoot security安全認(rèn)證登錄的實(shí)現(xiàn)方法

    SpringBoot security安全認(rèn)證登錄的實(shí)現(xiàn)方法

    這篇文章主要介紹了SpringBoot security安全認(rèn)證登錄的實(shí)現(xiàn)方法,也就是使用默認(rèn)用戶和密碼登錄的操作方法,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Spring Boot 開(kāi)發(fā)環(huán)境熱部署詳細(xì)教程

    Spring Boot 開(kāi)發(fā)環(huán)境熱部署詳細(xì)教程

    這篇文章主要介紹了Spring Boot 開(kāi)發(fā)環(huán)境熱部署,本文給大家介紹了Spring Boot 開(kāi)發(fā)環(huán)境熱部署的原理及快速配置方法,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 解決idea更新maven倉(cāng)庫(kù)的圖文教程

    解決idea更新maven倉(cāng)庫(kù)的圖文教程

    這篇文章主要介紹了解決idea更新maven倉(cāng)庫(kù)的圖文教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • SpringBoot中通過(guò)AOP整合日志文件的實(shí)現(xiàn)

    SpringBoot中通過(guò)AOP整合日志文件的實(shí)現(xiàn)

    本文主要介紹了SpringBoot中通過(guò)AOP整合日志文件的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Java安全之Mojarra?JSF反序列化講解

    Java安全之Mojarra?JSF反序列化講解

    JSF?和類似的?Web?技術(shù)之間的區(qū)別在于?JSF?使用?ViewStates(除了會(huì)話)來(lái)存儲(chǔ)視圖的當(dāng)前狀態(tài)(例如,當(dāng)前應(yīng)該顯示視圖的哪些部分),這篇文章主要介紹了Java安全之Mojarra?JSF反序列化知識(shí)講解,包括漏洞復(fù)現(xiàn)和漏洞分析,需要的朋友可以參考下
    2022-11-11
  • Spring中@Configuration注解的使用場(chǎng)景

    Spring中@Configuration注解的使用場(chǎng)景

    這篇文章主要介紹了Spring中@Configuration注解的使用場(chǎng)景,@Configuration注解是從Spring?3.0版本開(kāi)始加入的一個(gè)使Spring能夠支持注解驅(qū)動(dòng)開(kāi)發(fā)的標(biāo)注型注解,主要用于標(biāo)注在類上,需要的朋友可以參考下
    2023-11-11
  • Spring中HandlerMapping接口源碼詳解

    Spring中HandlerMapping接口源碼詳解

    這篇文章主要介紹了Spring中HandlerMapping接口源碼詳解,RequestMappingHandlerMapping類就是實(shí)現(xiàn)此接口并將容器中所有的控制器的RequestMappingInfo請(qǐng)求和HandlerMethod注冊(cè)到內(nèi)存之中,需要的朋友可以參考下
    2023-11-11

最新評(píng)論

治县。| 阳西县| 江达县| 馆陶县| 高尔夫| 阿坝| 桃源县| 苏尼特左旗| 仙游县| 徐州市| 承德市| 当涂县| 郧西县| 江油市| 荣昌县| 宝丰县| 青川县| 西和县| 嘉义县| 海兴县| 兴仁县| 开封市| 读书| 梧州市| 新疆| 民乐县| 综艺| 洞口县| 晋中市| 岑溪市| 蒙山县| 连山| 贵州省| 大名县| 博乐市| 沙田区| 文安县| 平定县| 友谊县| 高清| 革吉县|