【发布时间】:2011-09-28 14:26:44
【问题描述】:
我如何通过 java 以编程方式将图像转换为“某些字符串”以将其作为参数传递给在谷歌图像搜索中进行搜索。实际上,我已经对图像进行了一些 base64 转换,但它与谷歌在其图像搜索引擎中所做的不同。我做了这样的转换(java 7):
import javax.xml.bind.DatatypeConverter;
...
Path p = Paths.get("my_photo.JPG");
try(InputStream in = Files.newInputStream(p);
PrintWriter write = new PrintWriter("base64.txt");
) {
byte [] bytes = new byte[in.available()];
in.read(bytes);
String base64 = DatatypeConverter.printBase64Binary(bytes);
write.println(base64);
} catch(IOException ex) {
ex.printStackTrace();
}
这个简单程序的输出与 url 中的 google 字符串不同。我说的是tbs=sbi:AMhZZ...之后的那个字符串
【问题讨论】:
-
那么,我可以用其他方式使用这个 google 的服务吗?我只是想获取指定图片页面的代码,比如在谷歌图片搜索中
-
我不明白你想要完成什么。能举个例子吗?
-
我想使用code.google.com/intl/uk/apis/imagesearch/v1/… 中的谷歌图像搜索服务,但我想使用图像作为参数而不是文本参数(注意:我不需要使用 json,只是它正在使用例如)
-
请记住,这是一项实验性服务,您可能不想构建依赖于它的应用程序。还有其他reverse image search engines
-
抱歉,我一直在考虑将图像 1:1 转换为字符串,而不是搜索引擎内部实际发生的事情。我的新答案应该更有帮助。