首页 > 编程知识 正文

java调用api进行图像识别,java实现图像识别

时间:2024-03-07 18:23:18 阅读:331677 作者:PNML

本文目录一览:

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;

    }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。