本文目錄一覽:
- 1、Java 圖像識別 數字圖像處理 從一張JPG圖片中識別出若干黑色小方塊
- 2、java中API怎麼調用啊?
- 3、怎樣在java中調用百度地圖的API
- 4、在java中,圖片上有蘋果雞蛋花瓶,用什麼方法知道圖片上分別有幾個蘋果,雞蛋和花瓶?
- 5、java中怎麼調用api數據介面
Java 圖像識別 數字圖像處理 從一張JPG圖片中識別出若干黑色小方塊
你需要關注的主要是這個類:java.awt.image.BufferedImage
可以查閱相關的API。
java圖像處理技術在《java核心技術8 下卷》中有比較詳細的介紹。
相關技術要求和注意事項:RGB標準、ICC配置特性、
建議如果進行像素識別的話可以選取關鍵點的識別方式、而且確認像素是否符合要求使用RGB的範圍識別而非精確識別。
至於具體的識別操作過程,需要你詳細定義開始識別的位置標準(規定的或者識別圖像獲取)、邊界標準、大小(識別塊得SIZE)、分組(給識別塊確定屬性)等
java中API怎麼調用啊?
1,java中的api並不能直接調用的,常說的調用api其實是調用相關的類和介面,這些類和介面里包含這些api。
2,比如要計算一個值的絕對值、平方根、指數…
那麼就需要調用Java API中的java.lang.Math類中的abs(); sqrt(); exp();的這些方法。
Math.abs();
Math.sqrt();
Math.exp();
Math是靜態的,不需要創建Math對象,所以可以直接用【類.方法】調用。
如果是其它非靜態的類,就需要【對象.方法】的方式調用。
怎樣在java中調用百度地圖的API
百度地圖Web服務API為開發者提供http介面,即開發者通過http形式發起檢索請求,獲取返回json或xml格式的檢索數據。
api官網說明鏈接:
1、可用介面列舉:
獲取相關地址提示 place suggestion
水杉®ion=成都output=jsonak=42b8ececa9cd6fe72ae4cddd77c0da5d
2、獲取坐標 geocoding
錦江區菱安路299號output=jsonkey=42b8ececa9cd6fe72ae4cddd77c0da5d
;output=jsonquery=藍光coco金沙page_size=10page_num=0scope=1®ion=成都
{
“status”:0,
“message”:”ok”,
“total”:2,
“results”:[
{
“name”:”藍光COCO金沙”,
“location”:{
“lat”:30.687544,
“lng”:103.996691
},
“address”:”西三環外金沙西源大道(IT大道旁)”,
“uid”:”223992992c5ee7e0841541df”
},
{
“name”:”藍光COCO金沙2期”,
“location”:{
“lat”:30.681123,
“lng”:103.991123
},
“address”:”青羊區金沙IT大道旁”,
“uid”:”b7bb5abb1cd4982213293580″
}
]
}
3、設施導航
;output=jsonquery=圖書館page_size=20page_num=0scope=2®ion=成都
4、java測試類:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
public class LocationUtil {
private static final String BAIDU_APP_KEY = “42b8ececa9cd6fe72ae4cddd77c0da5d”;
/**
* 返回輸入地址的經緯度坐標 key lng(經度),lat(緯度)
*/
public static MapString, String getLatitude(String address) {
try {
// 將地址轉換成utf-8的16進位
address = URLEncoder.encode(address, “UTF-8”);
// 如果有代理,要設置代理,沒代理可注釋
// System.setProperty(“http.proxyHost”,”192.168.172.23″);
// System.setProperty(“http.proxyPort”,”3209″);
URL resjson = new URL(“”
+ address + “output=jsonkey=” + BAIDU_APP_KEY);
BufferedReader in = new BufferedReader(new InputStreamReader(
resjson.openStream()));
String res;
StringBuilder sb = new StringBuilder(“”);
while ((res = in.readLine()) != null) {
sb.append(res.trim());
}
in.close();
String str = sb.toString();
System.out.println(“return json:” + str);
if(str!=null!str.equals(“”)){
MapString, String map = null;
int lngStart = str.indexOf(“lng\”:”);
int lngEnd = str.indexOf(“,\”lat”);
int latEnd = str.indexOf(“},\”precise”);
if (lngStart 0 lngEnd 0 latEnd 0) {
String lng = str.substring(lngStart + 5, lngEnd);
String lat = str.substring(lngEnd + 7, latEnd);
map = new HashMapString, String();
map.put(“lng”, lng);
map.put(“lat”, lat);
return map;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void main(String args[]) {
MapString, String map = LocationUtil.getLatitude(“成都 高新西區西區大道1398號”);
if (null != map) {
System.out.println(map.get(“lng”));
System.out.println(map.get(“lat”));
}
}
}
在java中,圖片上有蘋果雞蛋花瓶,用什麼方法知道圖片上分別有幾個蘋果,雞蛋和花瓶?
哦,這是圖片的查找問題.
假設有大圖片名叫 果籃.jpg ; 小圖片名叫 蘋果.jpg
那麼需要把2張圖片轉成數組來比較. 比如轉成int類型的數組(因為顏色RGB值可以和int值轉換)在果籃大圖裡,搜索小圖第一個坐標的顏色,找到了,就進入其他顏色的匹配(如果全部顏色匹配)那麼表示找到了一個蘋果. 如果其他顏色不匹配,那麼繼續循環查找. 查找到幾次,就表示有多少個蘋果
當然效率不高,也有的人使用小圖的上下左右四個點進行初步查找, 然後相同了,再匹配區域內別的顏色是否相似.
具體代碼有點長. 你可以搜 “Java圖片上查找圖片演算法”
java中怎麼調用api數據介面
java發一個http請求過去,帶上參數就可以了啊,跟我們在瀏覽器上訪問資源是一樣的 只是它返回的是json格式的數據而已
給你兩個方法吧:
public static String do_post(String url, ListNameValuePair name_value_pair) throws IOException {
String body = “{}”;
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpPost httpost = new HttpPost(url);
httpost.setEntity(new UrlEncodedFormEntity(name_value_pair, StandardCharsets.UTF_8));
HttpResponse response = httpclient.execute(httpost);
HttpEntity entity = response.getEntity();
body = EntityUtils.toString(entity);
} finally {
httpclient.getConnectionManager().shutdown();
}
return body;
}
public static String do_get(String url) throws ClientProtocolException, IOException {
String body = “{}”;
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
body = EntityUtils.toString(entity);
} finally {
httpclient.getConnectionManager().shutdown();
}
return body;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/205945.html