java opencv读取url中的图片(只有一张,情况特殊),返回Mat形式
2017-08-29 20:09
711 查看
采用imdecode函数
String strUrl = "http://...;
InputStream is = null;
ByteArrayOutputStream os = new ByteArrayOutputStream();
URL url = null;
try{
url = new URL(strUrl);
}catch (MalformedURLException e1){
e1.getMessage();
return -1;
}
try{
is = url.openStream();
}catch (IOException e2){
e2.getMessage();
return -1;
}
byte[] buffer = new byte[8192];
try {
int bytesRead = 0;
while((bytesRead = is.read(buffer,0,8192))!=-1){
os.write(buffer,0,bytesRead);
}
}catch (IOException e3){
e3.getMessage();
return -1;
}
try {
is.close();
}catch (IOException e4){
e4.getMessage();
return -1;
}
Mat encoded = new Mat(1, os.size(), CvType.CV_8U);
encoded.put(0, 0, os.toByteArray());
try {
os.close();
}catch (IOException e5){
e5.getMessage();
return -1;
}
//从内存中读,返回Mat形式
Mat decoded = Highgui.imdecode(encoded, -1);
encoded.release();
return decoded;
String strUrl = "http://...;
InputStream is = null;
ByteArrayOutputStream os = new ByteArrayOutputStream();
URL url = null;
try{
url = new URL(strUrl);
}catch (MalformedURLException e1){
e1.getMessage();
return -1;
}
try{
is = url.openStream();
}catch (IOException e2){
e2.getMessage();
return -1;
}
byte[] buffer = new byte[8192];
try {
int bytesRead = 0;
while((bytesRead = is.read(buffer,0,8192))!=-1){
os.write(buffer,0,bytesRead);
}
}catch (IOException e3){
e3.getMessage();
return -1;
}
try {
is.close();
}catch (IOException e4){
e4.getMessage();
return -1;
}
Mat encoded = new Mat(1, os.size(), CvType.CV_8U);
encoded.put(0, 0, os.toByteArray());
try {
os.close();
}catch (IOException e5){
e5.getMessage();
return -1;
}
//从内存中读,返回Mat形式
Mat decoded = Highgui.imdecode(encoded, -1);
encoded.release();
return decoded;
相关文章推荐
- OpenCV读取一张图片的Mat数据类型到.txt文件
- OpenCV读取一张图片的Mat数据类型到.txt文件
- Java如何通过URL调用远程接口并读取返回信息?
- OpenCV 之 Mat IplImage 读取本地图片
- java读取远程url图片,得到宽高
- OPENCV图像处理基础(一)读取一张图片
- java读取远程url图片,得到宽高
- java 实现根据url,将url对应的网页存为一张完整的图片,不是截图,也就是图片是整个网页的内容
- 最简单的openCV语言,读取和显示一张图片
- Java+opencv 读取视频文件flv格式,按帧生成图片预览
- 需求(Java语言实现):对存有图片URL的txt文件进行逐行读取,自行下载txt文件中的图片到指定文件夹中
- java使用Opencv小例子,从合并的两个图片中减去一张图片
- opencv 读取图片并提取Mat中data数据
- java读取文件以字节流的形式读取 然后转化为字节流数组,最后经过SHA1加密生成返回16进制字符串存入数据库
- Java读取Url请求获得返回数据
- OpenCV 中读取一张图片的像素点,并显示
- Java使用URL读取网络图片资源 并保存在本地
- OpenCV入门二:OpenCV读取一张图片显示,并将其重写为灰度图
- 在QT集成开发环境中用OpenCV读取一张图片并显示
- java上传图片到阿里云oss云存储中,返回url链接地址