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

OpenCV實現普通閾值

 更新時間:2021年11月17日 11:10:12   作者:kicinio  
這篇文章主要為大家詳細介紹了OpenCV實現普通閾值,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

普通閾值

閾值本質上就是對圖像進行分割的一個過程。利用閾值二值化可對灰度或彩色圖像進行像素數據分類。普通閾值即閾值二值化就是針對給定的圖像,以T作為閾值進行分割的過程。在OpenCV中該類的實現依賴于threshold() 函數。下面是該函數的聲明:

threshold(src, dst, thresh, maxval, type);

各參數解釋

·src
表示此操作的源(輸入圖像)的Mat對象。

·mat
表示目標(輸出)圖像的類Mat的對象。

·thresh
表示閾值T。

·maxval
表示最大灰度值,一般為255。

·type
表示要使用的閾值類型的整數類型變量,閾值二值化為Imgproc.THRESH_BINARY。

其數學描述解釋如下:

對于給定的src(x,y),若其像素值大于閾值T(thresh),則其返回像素最大值,否則為0。

那么dst其像素描述如下:

Java代碼(JavaFX Controller層)

public class Controller{

    @FXML private Text fxText;
    @FXML private ImageView imageView;
    @FXML private Label resultLabel;

    @FXML public void handleButtonEvent(ActionEvent actionEvent) throws IOException {

        Node source = (Node) actionEvent.getSource();
        Window theStage = source.getScene().getWindow();
        FileChooser fileChooser = new FileChooser();
        FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("PNG files (*.png)", "*.png");
        fileChooser.getExtensionFilters().add(extFilter);
        fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("JPG Files(*.jpg)", "*.jpg"));
        File file = fileChooser.showOpenDialog(theStage);

        runInSubThread(file.getPath());

    }

    private void runInSubThread(String filePath){
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    WritableImage writableImage = thresholdOfBinary(filePath);

                    Platform.runLater(new Runnable() {
                        @Override
                        public void run() {
                            imageView.setImage(writableImage);
                        }
                    });

                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }
    
    private WritableImage thresholdOfBinary(String filePath) throws IOException {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

        Mat src = Imgcodecs.imread(filePath);
        Mat dst = new Mat();

        Imgproc.threshold(src, dst, 150, 255, Imgproc.THRESH_BINARY);

        MatOfByte matOfByte = new MatOfByte();
        Imgcodecs.imencode(".jpg", dst, matOfByte);

        byte[] bytes = matOfByte.toArray();
        InputStream in = new ByteArrayInputStream(bytes);
        BufferedImage bufImage = ImageIO.read(in);

        WritableImage writableImage = SwingFXUtils.toFXImage(bufImage, null);

        return writableImage;
    }

}

運行圖

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關文章

  • 利用spring?boot+WebSocket實現后臺主動消息推送功能

    利用spring?boot+WebSocket實現后臺主動消息推送功能

    目前對于服務端向客戶端推送數據,常用技術方案有輪詢、websocket等,下面這篇文章主要給大家介紹了關于利用spring?boot+WebSocket實現后臺主動消息推送功能的相關資料,需要的朋友可以參考下
    2022-04-04
  • 關于Java中的IO流總結(推薦)

    關于Java中的IO流總結(推薦)

    下面小編就為大家?guī)硪黄P于Java中的IO流總結(推薦)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Java實現在PPT中創(chuàng)建SmartArt圖形的示例代碼

    Java實現在PPT中創(chuàng)建SmartArt圖形的示例代碼

    SmartArt其實就是一個文字的可視化工具,用戶可在PowerPoint,Word,Excel中使用該特性創(chuàng)建各種圖形圖表。本文就將為您介紹如何通過Java應用程序在PPT中創(chuàng)建SmartArt圖形,需要的可以參考一下
    2023-04-04
  • 使用Java 實現一個“你畫手機猜”的小游戲

    使用Java 實現一個“你畫手機猜”的小游戲

    這篇文章主要介紹了使用Java 實現一個“你畫手機猜”的小游戲,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Log4j 配置日志打印時區(qū)的實現方法

    Log4j 配置日志打印時區(qū)的實現方法

    下面小編就為大家分享一篇Log4j 配置日志打印時區(qū)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • java為什么使用BlockingQueue解決競態(tài)條件問題面試精講

    java為什么使用BlockingQueue解決競態(tài)條件問題面試精講

    這篇文章主要為大家介紹了java為什么使用BlockingQueue解決競態(tài)條件問題面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • 深入解析Java編程中的boolean對象的運用

    深入解析Java編程中的boolean對象的運用

    這篇文章主要介紹了Java編程中的boolean對象的運用,是Java入門學習中的基礎知識,需要的朋友可以參考下
    2015-10-10
  • 基于redis setIfAbsent的使用說明

    基于redis setIfAbsent的使用說明

    這篇文章主要介紹了基于redis setIfAbsent的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • SpringBoot連接Nacos集群報400問題及完美解決方法

    SpringBoot連接Nacos集群報400問題及完美解決方法

    這篇文章主要介紹了解決SpringBoot連接Nacos集群報400問題?,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • java中map和對象互轉工具類的實現示例

    java中map和對象互轉工具類的實現示例

    這篇文章主要介紹了java中map和對象互轉工具類的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08

最新評論

无极县| 肃南| 乌拉特中旗| 同仁县| 镶黄旗| 常山县| 象山县| 徐州市| 石首市| 荆州市| 海门市| 收藏| 蓝田县| 资中县| 太和县| 英超| 金昌市| 仁化县| 永定县| 额敏县| 遂昌县| 丰宁| 福清市| 曲沃县| 蒙阴县| 迁西县| 漳平市| 炉霍县| 九江县| 砚山县| 怀安县| 罗源县| 武陟县| 平远县| 镇安县| 饶河县| 吉安市| 怀远县| 兴山县| 平顶山市| 晋江市|