java,blob
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
java blob是什麼,讓我們一起了解一下?
Blob是計算機視覺圖像中的一塊連通區域,Blob分析的就是對前景或背景分離後的二值圖像,進行連通域提取和標記以及計算Blob的一些相關特徵,而且通過Blob提取,還可以獲得相關區域的信息。
Blob分析的重要一個步驟是連通區域的確定,那麼它的優缺點是什麼?
優點:
Blob在目標跟蹤的優勢有:
1、通過Blob提取,可以獲得相關區域的信息,這些信息可以作爲邊緣監測器或者角點檢測器的補充信息。在目標識別中,Blob可以提供局部的統計信息和外貌信息,這些信息能夠爲目標識別和跟蹤提供依據。
2、可以利用Blob對直方圖進行峯值檢測。
3、Blob還可以作爲紋理分析和紋理識別的基元。
4、通過Blob分析,可以得到目標的個數及其所在區域,在進行目標匹配時,不需要對全局圖像進行搜索。
缺點:
1、速度過慢,要整個區域作逐點掃描。
2、Blob分析難度大。這是一純幾何學上的問題,一個不規則的形狀,如何計算它的面積、大小沒有簡單易行的算法,太過複雜,運算時間就長,速度就更慢了。
3、實際應用。Blob算法在實際應用中,非常依賴光源。幾乎可以說,Blob算法如果離開了一個可靠的光源設計,則完全不起作用。
那麼java是怎樣對Blob讀寫的?示例如下:
package com.you.sister; import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.sql.Blob;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Properties; public class BlobTest { public static Connection conn;public static Connection getConn() throws Exception {FileInputStream fis = new FileInputStream(new File("jdbc.properties"));Properties prop = new Properties();prop.load(fis);String driver = prop.getProperty("jdbc.driver");String url = prop.getProperty("jdbc.url");String username = prop.getProperty("jdbc.username");String password = prop.getProperty("jdbc.password");Class.forName(driver);return DriverManager.getConnection(url, username, password);}public static void main(String[] args) throws Exception {conn = getConn();readBlob();writeBlob();conn.close();}/*** 從數據庫中讀大對象出來* 保存在本地*/public static void readBlob() {try {String readSql = "select * from emp where empno = ?";PreparedStatement ps = conn.prepareStatement(readSql);ps.setInt(1, 7369);ResultSet rs = ps.executeQuery();while (rs.next()) {Blob image = rs.getBlob("image");DataOutputStream dos = // 在FileOutputStream中指定文件輸出路徑new DataOutputStream(new FileOutputStream(7369 + "_image.jpeg"));InputStream fis = image.getBinaryStream();int out;byte[] outByte = new byte [100];// 將blob對象輸入流寫入本地輸出流中while ((out = fis.read(outByte)) != -1) {dos.write(outByte);}fis.close();dos.flush();dos.close();}rs.close();ps.close();} catch (Exception e) {e.printStackTrace();}}/*** 將大對象文件保存進數據庫中*/public static void writeBlob() {try {BufferedInputStream fis = new BufferedInputStream(new FileInputStream(new File("D:Tulips.jpg")));// 如果是新插入字段,則將大對象對應字段插入爲empty_clob();// 如果是修改,則可以先update 該行數據,將大對象對應字段設置爲empty_clob();String writeSql = "select * from emp where empno = ? for update";PreparedStatement ps = conn.prepareStatement(writeSql);ps.setInt(1, 7499);conn.setAutoCommit(false);ResultSet rs = ps.executeQuery();while (rs.next()) {oracle.sql.BLOB image = (oracle.sql.BLOB)rs.getBlob("image");BufferedOutputStream bos = new BufferedOutputStream(image.getBinaryOutputStream());int c;// 將實際文件中的內容以二進制的形式來輸出到blob對象對應的輸出流中while ((c = fis.read()) != -1) {bos.write(c);}fis.close();bos.close();}conn.commit();rs.close();ps.close();} catch (Exception e) {e.printStackTrace();}}}
-
怎麼查看微博最近訪客,如何查看微博最近訪客
怎麼查看微博最近訪客:1、首先網頁登錄微博首頁。2、然後點擊右上角自己的頭像。3、點擊進去後點擊管理中心。4、在管理中心裏可以看到全部數據的概覽。5、往下拉可以看到具體的詳情信息。6、訪客互動可以在互動分析裏進行查看,也可以進行導出。...
-
小米手機返回鍵不能返回怎麼辦
如果我們小米手機的返回鍵失去作用了,可以使用懸浮球裏的返回鍵進行各種操作,具體方法如下:1、在自己的手機桌面上找到設置圖標,點擊打開。2、找到【更多設置】的選項,點擊打開。3、在更多設置的界面,找到【懸浮球】選項,點擊打開。4、在懸浮球的主界面,找到【自定義菜...
-
windows10關閉自動維護
同進按住【Win】鍵和【R】鍵打開運行,輸入【regedit】,點擊【確定】進去之後,依次點擊【HKEY_LOCAL_MACHINE】->【SOFTWARE】->【Microsoft】->【WindowsNT】->【CurrentVersion】->【Schedule】->【Maintenance】;在【Maintenance】上鼠標右鍵,選擇【新建】->【DWO...
-
怎麼查看微信羣在哪裏
1、成功登陸微信後,點擊微信通訊錄選項卡,在微信通訊錄裏可以看到羣聊,點擊羣聊。2、打開羣聊後,在羣聊這裏什麼都沒有,點擊羣聊右上角的“+”圖標。3、在發起羣聊界面上,點擊選擇一個羣。4、點擊進入到選擇羣聊界面後,在選擇羣聊就裏可以看到所有的微信羣了。5、點擊...