日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

改变,从一个简单的“物体识别”开始

發布時間:2023/12/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 改变,从一个简单的“物体识别”开始 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、百度AI開放平臺 

  前幾天在百度的AI平臺上看到了很多好玩的API類,像類似于語音識別、人臉識別、文字識別、自然語言處理等等。這些在當前比較熱門的技術都有提供給使用者的API。而且~~~,大部分都是免費的喔,前提是大家不要用作商業用途哈,隨便玩玩還是可以的,給大家看一看都有些啥,先上一下圖像技術的:

  大家可以很明顯的看到有一些類別在當前還是比較貼近于我們日常生活需要的,像圖像審核、圖像處理、還有圖像識別等等,這些都是平時我們應用的比較多的。當然這只是其中的一個分類而已,在左邊有一個大的分類表,大家有興趣的話可以根據自己的需要去玩一玩這些API,鏈接先貼在這:(點擊get)。

  下面做一個簡單的示例看看怎么使用這些API類的,在我們選擇了心儀的API以后(我先以人臉與人體識別類的人臉檢測為例),點進去以后我們可以看到有關這個技術的一些功能介紹和演示,還有一些常用的應用場景和服務類型,如下圖:

?

  

  

    下面都是些可提供檢測的圖片,如果你就覺得這些圖片可能事先就檢測好的,那你也可以上傳一下本地的圖片檢測,像這樣:

    

    又或者是這樣?

    

?

    咳咳,哈哈哈,這不是筆者本人哈,打住哈。總之如果大家有興趣的話,都可以去玩玩,在這里我就不做示范了。好,如果你覺得某個API已經符合你的胃口了,那么就可以開始著手使用它了,我們點擊剛開始進來的立即使用按鈕后:

  登錄一下你的百度賬號,有賬號的小伙伴直接登錄就好了,沒有的自己注冊一下,再進去以后我們可以看到下面這個界面,首先我們創建一下應用。

?

?  然后將應用列表的信息補充完整,注意:應用的名稱就是指你需要做的項目的名稱,然后具體描述什么的就自己隨便寫點什么吧。在創建成功以后我們再點擊左邊的應用列表,可以看到我們剛剛創建的應用在這里:

?

  注意一下上圖百度給我們的應用提供的AppID,API Key 還有Secret Key,這三個東西是我們待會在用這個API的時候需要向百度發送請求,然后百度通過了以后才可以返回給你數據結果。

  當你以上幾步都完成了以后就可以正式的使用這個API了,讓我們先打開有關這個API的技術文檔:

?

?進去了以后我們就可以看到有關這個API的詳細介紹以及如何調度使用的情況,里面也有著不同語言在調用這個API的時候所使用的的源碼,首先我們需要獲取access_token,這是需要通過剛才我們所說的那三個東西作為參數所獲取的,如何獲取技術文檔中有詳細的解答,源碼什么的也都有提供,只需要我們copy下來就好了(以Java為例):

  另外我們需要注意的是:access_token的有效期為30天,切記需要每30天進行定期更換,或者每次請求都拉取新token;

  我們在使用這個API的時候一定要下載對應的SDK文檔,并且在項目中將其導入,因為我們是調用百度的第三方庫,如果不下載的話在使用時就沒辦法查找到。具體如何下載,API技術文檔中也有說明,這里就不再贅述了。

?

二?、物體和場景識別Deom

 通過前面簡單的對百度API描述和如何使用以后,相信大家都已經對其有一定的了解了,然后我們就可以開始著手用它來制作一些好玩的東西,在這里我使用的是里面圖像技術的通用物體和場景識別API,這個API的主要功能就是將你上傳的圖片通過識別然后返回識別的結果。下面我給大家運行一下API技術文檔上的Demo,先貼一下源碼:

public class Sample {public static void main(String[] args) {Sample sa = new Sample();System.out.println(sa.DistinguishImage(filePath,appId,apiKey,secretKey));}private static String appId = "輸入你的appID";private static String apiKey = "輸入你的apiKey";private static String secretKey = "輸入你的secretKey";private static String filePath = "輸入你的圖片路徑";public String DistinguishImage(String filePath, String appId,String apiKey,String secretKey) {// 初始化一個AipImageClassify對象,傳入你的appID,apiKey,secretKey.AipImageClassify client = new AipImageClassify(appId, apiKey, secretKey);String DistinguishContent = TestImage(filePath,client);return DistinguishContent;}private String TestImage(String filePath, AipImageClassify client) {// 傳入可選參數調用接口HashMap<String, String> options = new HashMap<String, String>();options.put("top_num", "3");options.put("baike_num", "5");// 參數為本地路徑 // String filepath = "E:\\圖片測試\\myimage.jpg"; // JSONObject res = client.advancedGeneral(filepath, options); // System.out.println(res.toString(2));// 參數為二進制數組byte[] file = readFile(filePath);JSONObject res = client.advancedGeneral(file, options);String Content = res.toString(2);return Content;}
private BufferedImage img;private byte[] bytes;private byte[] readFile(String fileName) {try {InputStream inputStream = new BufferedInputStream(new FileInputStream(fileName));img = ImageIO.read(inputStream);ByteArrayOutputStream outputStream = new ByteArrayOutputStream();ImageIO.write(img,"jpg",outputStream);bytes = outputStream.toByteArray();} catch (Exception e) {e.printStackTrace();}return bytes;} }

?

?

?

  下面的是返回結果,可以看到每一種可能性的結果主要返回了四個參數,score(每一種結果的評分,排序的主要參照,范圍在0-1之間,數值越大,屬于這類物體的可能性越高),root(物體的主要分類:比如動物、植物等),keyword(具體屬于哪一種,可以理解為root實例化后的對象)、baike_info(里面主要是關于這個分類的介紹,還包含了介紹的鏈接和百度百科的描述)。返回的描述結果還是比較全面的。

[main] INFO com.baidu.aip.client.BaseClient - get access_token success. current state: STATE_AIP_AUTH_OK {"result": [{"score": 0.885108,"root": "植物-菊科","keyword": "向日葵","baike_info": {"baike_url": "http://baike.baidu.com/item/%E5%90%91%E6%97%A5%E8%91%B5/6106","image_url": "http://imgsrc.baidu.com/baike/pic/item/9f2f070828381f309a091d76ab014c086f06f0d9.jpg","description": "向日葵(拉丁文:Helianthus annuus),屬向日葵族,一年生草本,高1~3.5米。莖直立,圓形多棱角,質硬被白色粗硬毛。廣卵形的葉片通常互生,先端銳突或漸尖,有基出3脈,邊緣具粗鋸齒,兩面粗糙,被毛,有長柄。頭狀花序,直徑10~30厘米,單生于莖頂或枝端。總苞片多層,葉質,覆瓦狀排列,被長硬毛,夏季開花,花序邊緣生中性的黃色舌狀花,不結實。花序中部為兩性管狀花,棕色或紫色,能結實。矩卵形瘦果,果皮木質化,灰色或黑色,稱葵花籽。原產南美洲,馴化種由西班牙人于1510年從北美帶到歐洲,最初為觀賞用。19世紀末,又被從俄國引回北美洲。中國均有栽培。向日葵種子叫葵花籽,常炒制之后做為零食食用,味美,也可以榨葵花籽油用于食用,油渣可以做飼料。"}},{"score": 0.699135,"root": "植物-其它","keyword": "太陽花","baike_info": {"baike_url": "http://baike.baidu.com/item/%E5%90%91%E6%97%A5%E8%91%B5/6106","image_url": "http://imgsrc.baidu.com/baike/pic/item/9f2f070828381f309a091d76ab014c086f06f0d9.jpg","description": "向日葵(拉丁文:Helianthus annuus),屬向日葵族,一年生草本,高1~3.5米。莖直立,圓形多棱角,質硬被白色粗硬毛。廣卵形的葉片通常互生,先端銳突或漸尖,有基出3脈,邊緣具粗鋸齒,兩面粗糙,被毛,有長柄。頭狀花序,直徑10~30厘米,單生于莖頂或枝端。總苞片多層,葉質,覆瓦狀排列,被長硬毛,夏季開花,花序邊緣生中性的黃色舌狀花,不結實。花序中部為兩性管狀花,棕色或紫色,能結實。矩卵形瘦果,果皮木質化,灰色或黑色,稱葵花籽。原產南美洲,馴化種由西班牙人于1510年從北美帶到歐洲,最初為觀賞用。19世紀末,又被從俄國引回北美洲。中國均有栽培。向日葵種子叫葵花籽,常炒制之后做為零食食用,味美,也可以榨葵花籽油用于食用,油渣可以做飼料。"}},{"score": 0.453014,"root": "植物-其它","keyword": "花海","baike_info": {"baike_url": "http://baike.baidu.com/item/%E8%8A%B1%E6%B5%B7/9009691","image_url": "http://imgsrc.baidu.com/baike/pic/item/3c6d55fbb2fb4316e955e21d26a4462309f7d30b.jpg","description": "《花海》是周杰倫演唱的一首歌曲,由周杰倫作曲,古小力和黃淩嘉填詞,收錄在周杰倫2008年發行的專輯《魔杰座》中。《花海》是一首充滿島國風情的歌曲,周杰倫以海島唱腔演唱,有種撫慰人心的力量。"}},{"score": 0.272218,"root": "植物-其它","keyword": "葵花","baike_info": {"baike_url": "http://baike.baidu.com/item/%E8%91%B5%E8%8A%B1/5097148","image_url": "http://imgsrc.baidu.com/baike/pic/item/b03533fa828ba61ee8609a9d4b34970a314e59f1.jpg","description": "葵花,學名向日葵(Helianthus annuus)別名太陽花,是菊科向日葵屬的植物。向日葵花語為愛慕、光輝、高傲之意,仰慕、凝視著你。溫暖,耐旱,能產果實葵花籽。原產北美洲,世界各地均有栽培。向日葵也是俄羅斯,秘魯的國花。"}},{"score": 0.080621,"root": "商品-農用物資","keyword": "花卉","baike_info": {"baike_url": "http://baike.baidu.com/item/%E8%8A%B1%E5%8D%89/229536","image_url": "http://imgsrc.baidu.com/baike/pic/item/f9dcd100baa1cd1192fd9cb2b312c8fcc2ce2ddd.jpg","description": "花卉,具有觀賞價值的草本植物,是用來欣賞的植物的統稱,喜陽且耐寒,具有繁殖功能的短枝,有許多種類。典型的花,在一個有限生長的短軸上,著生花萼、花瓣和產生生殖細胞的雄蕊與雌蕊。花由花冠、花萼、花托、花蕊組成,有各種各樣顏色,有的長得很艷麗,有香味。有些學者認為裸子植物的孢子葉球也是\u201c花\u201d,而多數人則認為被子植物才有真正的花,所以被子植物也稱為有花植物。花的各部分不易受外界環境影響,長期以來,人們都以花的形態結構作為被子植物分類鑒定和系統演化的主要依據(見被子植物門)。"}}],"log_id": 2979176988250706114,"result_num": 5 }

  

?

三、我的物體識別

 上面給大家運行了百度API提供的Demo,其實它提供的不僅僅是上面的,還有關于具體的分類的Demo,比如有專門的動物分類,植物分類,以及商場的logo分類等等,大家如果有興趣的話可以多多嘗試,根據自己的需要運行那些你覺得更好玩的Demo。下面給大家展示一下我做的一個比較簡單的物體識別的成效,當然不管是代碼還是布局什么的都有很大的優化空間,我暫時還沒有進行優化,在這里只是給大家做個參考:

  在上面的圖片中我們可以很明顯的看到,一開始我初始化的時候就已經添加了一個貓咪的圖片,在通過識別這張圖片后將識別的內容返回到了下面的文本框中。在這里文本框中的字體比較小,我還沒有進行優化。只是給大家看看大概的成果是這個亞子的。如果想換其他的圖片的話,我們也可以通過點擊右邊的一些圖片來看看效果:

  可以看到在我點擊了右邊不同的圖片以后,出現了不同的效果以及識別信息,如果覺得這些都太局限了,那么我們就點擊下方的“上傳”按鈕,來識別自己想要的圖片,比如這樣:

  這樣子一來就可以將我們的產品變得更具有靈活性,注意:我這里上傳的圖片文件暫時只是設置了可以識別jpg和png的圖片,其他類型的圖片上傳的話暫時是識別不了的喲。至于github源碼的話我先貼在這里(代碼是用Java實現的),如果大家有興趣的話可以看看。

  如果大家具體還有些關于百度API使用的問題,又或者是對我的工程有什么更好的改進想法,歡迎大家與我交流(貼一下聯系方式):

  VX:a1027759481? ?

  QQ:1027759481

  今天就先到這里啦~

  拜~

  

?

?

?

?

  

?

?

?

?

轉載于:https://www.cnblogs.com/picktan9/p/11287424.html

總結

以上是生活随笔為你收集整理的改变,从一个简单的“物体识别”开始的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。