Chrome扩展 - 百度识图

article/2025/9/14 23:19:33

我经常搜集些小图片,网上的图片往往都有水印(特别是现在微博发的图片,几乎右下角都有水印)或者比较小,经常会有想找图片原始的版本的冲动。

最近我才发现原来百度有个识图搜索,可以搜索出相似的图片,目前还是测试版,成功率不高,不过在很多场合还是可以派上用场的 :) 

PS: Google的Goggles似乎也可以识图,不过只见到手机终端软件,不知Web上能否调用。

目前百度识图在使用时需要登录它的网址,然后要上传一幅图片(<5M)或输入图片的网址,才开始搜索,整个操作比较麻烦。

于是打算做一个Chrome的插件,给网页图片的右键菜单添加一项,单击自动搜索相似的图片并显示在新的标签页里 :)

之前没做过这方面的开发,RTFM之后才发现做Chrome的插件是比较简单的,跟开发Gadgets差不多。

首先定义一个JSON编码的清单:

manifest.json
{
" background_page " : " background.html " ,
" name " : " 百度识图 " ,
" description " : " 使用百度识图搜索相似图片. http://www.cnblogs.com/neutra " ,
" icons " : {
" 16 " : " baidu-16.ico " ,
" 48 " : " baidu-48.png " ,
" 128 " : " baidu-128.png "
},
" minimum_chrome_version " : " 6.0.0.0 " ,
" page_action " : {
" default_icon " : " baidu-16.ico " ,
" default_title " : " 百度识图 "
},
" permissions " : [
" contextMenus " ,
" tabs " ,
" http://*/* " ,
" https://*/* "
],
" version " : " 1.0.0 "
}

然后是写个后台脚本

background.html
<! DOCTYPE html >
< html >
< head >
< title > 百度识图 < / title>
< / head>
< body >
< script >
function getClickHandler(){
return function (info, tab){
var url = ' http://stu.baidu.com/i?rt=0&rn=10&ct=1&tn=baiduimage&objurl= ' + escape(info.srcUrl);
chrome.tabs.create({ url: url, index: tab.index
+ 1 });
};
};
chrome.contextMenus.create({
" title " : " 百度识图 " ,
" type " : " normal " ,
" contexts " : [ " image " ],
" onclick " : getClickHandler()
});
function checkForBaiduUrl(tabId, changeInfo, tab){
var url = tab.url;
if (url != null && url.length >= 21 && url.substr( 0 , 21 ).toLowerCase() == " http://stu.baidu.com/ " ){
chrome.pageAction.show(tabId);
}
};
chrome.tabs.onUpdated.addListener(checkForBaiduUrl);
< / script>
< / body>
< / html>

上面脚本实现两个功能:一是给图片添加一个右键菜单项,二是当当前标签页的地址是百度识图的地址时在Chrome地址栏右边显示个小图标

注意:上面两个文件都要用UTF8编码保存

做完之后本想发布到GoogleWebStore里的,才郁闷地发现发布扩展程序需要5$的注册费(不过以后发布其他扩展就不用收费了),更郁闷的是付款页面的国家选择列表里没找到China……囧

园里也不能上传crx文件,暂时放到115网盘,下载地址 http://u.115.com/file/f61ec380c7 Chrome下载完会自动提示安装

希望这个扩展有人喜欢~

转载于:https://www.cnblogs.com/neutra/archive/2011/03/20/1989183.html


http://chatgpt.dhexx.cn/article/eoJsZ6CY.shtml

相关文章

华为MIB关键字IOD查询地址及方法

官方地址 https://support.huawei.com/onlinetoolweb/infoM/index.do?langzh&domain1 输入设备型号 版本 display version #输入命令查询版本 启动时间查询 snmpwalk -v 3 -u 安全用户名 -a SHA -A 认证密码 -x AES -X 加密密码 -l authPriv 设备地址 1.3.6.1.4.1.2011.…

导航上显示某个地点已关闭什么意思_大众MIB(275)教程之导航使用

大众可以说近几年的发展非常快&#xff0c;仅车载收音机都更换了好几代了。从最初的单纯收音机到后来的6碟CD机RCD510&#xff0c;最初国内上市的导航RNS510&#xff0c;还有后来自带蓝牙的RNS315&#xff0c;再到PQ平台187A&#xff0c;当初抄的也是火的很几乎每天都能看到187…

php 中mb开头什么意思,mb是兆的意思吗

MB是兆的意思&#xff0c;MB是英文“MByte”的简写&#xff0c;是计算机中的一种储存单位&#xff1b;MByte是指字节数量&#xff0c;Mbit是指比特位数&#xff0c;MByte中的“Byte”虽然与Mbit中的“bit”翻译一样&#xff0c;都是比特&#xff0c;也都是数据量度单位&#xf…

SNMP原理和MIB库

目录 背景概述 SNMP简介 基于SNMP的网管结构概述 SNMP协议 SNMP报文格式 报文处理过程 MIB MIB树结构 参考 背景概述 随着网络的规模越来越庞大&#xff0c;网络中的设备种类繁多&#xff0c;如何对越来越复杂的网络进行有效的管理&#xff0c;从而提供高质量的网络服…

LTE系统信息 --- MIB、SIB

前言 UE在搜索小区过程之后&#xff0c; 已经与小区取得下行同步&#xff0c;得到小区的 PCI&#xff08;Physical-layer-Cell Identity&#xff09; 以及检测到系统帧的 timing&#xff08;即 10ms timing&#xff09;。 接着&#xff0c;UE 需要获取到小区的系统信息&#xf…

计算机系统cache是什么意思啊,cache是什么意思 ?(图文)

在计算机存储系统的层次结构中&#xff0c;介于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。Zkk电脑_数码_手机应用问题解决的IT技术网站seo - 云狐网 某些机器甚至有二…

SNMP中的MIB是什么?

&#xfeff;&#xfeff; 在SNMP中&#xff0c;我们都应该知道著名的MIB了。那么这个具体是什么作用呢&#xff1f;在此我们就来详细介绍一下这个SNMP mib的具体作用。管理信息库MIB指明了网络元素所维持的变量&#xff08;即能够被管理进程查询和设置的信息&#xff09;。MIB…

计算方法实验:方程求根二分法、不动点迭代法、牛顿法

计算方法实验一&#xff0c;方程求根 分别用Matlab和C写了一下&#xff0c;初学Matlab&#xff0c;如有不足还请指正。 实验内容&#xff1a; 1&#xff09;在区间[0,1]内用二分法求方程 e x 10 ∗ x − 2 e^x10*x-2 ex10∗x−2的近似根&#xff0c;要求误差不超过 0.5 1 0…

MATLAB之牛顿迭代法

MATLAB之牛顿迭代法 一、算法原理 1、迭代公式 将 f (x)在点xk做Taylor展开f(x)f(xk)f’(xk)(x-xk)…&#xff0c;则有 由上式可得牛顿迭代公式为&#xff1a; X&#xff08;k1&#xff09;X(k)- f (X(k))/f’(X(k)) 2、牛顿法的几何意义 由上式可知&#xff0c;如果如果我…

Matlab牛顿迭代法求方程的根(GUI)

牛顿迭代法的具体内容不赘述它的核心算法是&#xff1a; k 1; x x0; x0 x e*2; % 为了让初启动时满足循环条件 while (abs(x-x0))>e && (k<N) % 同时限定误差和最大循环次数x0 x;x x0 - f(x0)/df(x0); % 牛顿迭代法式子k k1; end这是一个非常简单的牛顿…

牛顿迭代法 求 根

这是一个求根很牛皮的一个方法, 迭代几次后精度也变得非常的高了. 假设我们求√2的值, 用牛顿迭代法. 大致过程就是随便选取一个自认为离根比较近的, 离谱点也没事, 假如选x 4, 然后不断进行如下操作: 不断令 x x - f(x)/f’(x); (f(x) x^2 - a(a 2)); 所以就是: x 4 - …

牛顿迭代法求开方-详细且通俗讲解

目录 •写在前面 •前戏-二分法实现 •牛顿迭代法 代码实现 •写在前面 求开方这件事儿&#xff0c;很多时候用一个sqrt方法就搞定了&#xff0c;很少有趣思考这底层的实现到底是用什么方法完成的。正好我遇到了需要实现sqrt方法&#xff0c;这里就仔细的讲解一下如何去实…

【Matlab】牛顿迭代法实现

文章目录 题目&#xff1a;牛顿迭代法程序1&#xff1a;牛顿迭代法通用函数程序2&#xff1a;求最大Delta程序3&#xff1a;观察结果 题目&#xff1a;牛顿迭代法 程序1&#xff1a;牛顿迭代法通用函数 function [x] newton(x0,epsilon,f,print_flag) digits(10) % 控制牛顿…

C语言---牛顿迭代法求根

用牛顿迭代法求下面方程在1.5附近的根&#xff1a;2x3-4x23x60 先定义一个x0,通过x0找出f(x0),做f(x0)的切线&#xff0c;切线的交点为x1&#xff0c;tanxf(x0)/x1-x0;然而切线在函数中就是f(x)的导数&#xff0c;我们利用这一结论可以找出f(x0)和f(x0)的导数之间的关系&#x…

牛顿迭代法(Newton's Method)

简介 牛顿迭代法&#xff08;简称牛顿法&#xff09;由英国著名的数学家牛顿爵士最早提出。但是&#xff0c;这一方法在牛顿生前并未公开发表。 牛顿法的作用是使用迭代的方法来求解函数方程的根。简单地说&#xff0c;牛顿法就是不断求取切线的过程。 对于形如f(x)0的方程&am…

如何通俗易懂地讲解牛顿迭代法?

五次及以上多项式方程没有根式解&#xff08;就是没有像二次方程那样的万能公式&#xff09;&#xff0c;这个是被伽罗瓦用群论做出的最著名的结论。 但是&#xff0c;没有王屠夫难道非得吃带毛猪&#xff1f;工作生活中还是有诸多求解高次方程的真实需求&#xff08;比如行星…

使用“牛顿迭代法”求解方程

使用牛顿迭代法求解方程 尽管通过因式分解和利用求根公式可以很方便的得出多项式方程的根&#xff0c;但大多数时候这个多项式的次数都很高&#xff0c;计算将变得非常复杂&#xff0c;因此&#xff0c;我们必须转向一些近似解法。 牛顿迭代法是其中最好的方法之一。从根本上说…

牛顿迭代法求解方程

说明&#xff1a;该篇博客源于博主的早些时候的一个csdn博客中的一篇&#xff0c;由于近期使用到了&#xff0c;所以再次作一总结。原文地址 概述 牛顿迭代法&#xff08;Newton’s method&#xff09;又称为牛顿-拉夫逊&#xff08;拉弗森&#xff09;方法&#xff08;Newto…

方程求根的迭代法——牛顿迭代法

用牛顿法解方程xe(x) -10 程序流程图如下&#xff1a; //方程求根的迭代法——牛顿迭代法 /*************Analysis********** *1.初值x0,精度e,迭代次数N *2.牛顿法解方程f(x)x*e**x-1 *3.取初值为0.5 ********************************/ #include<iostream> #include&…

牛顿迭代法

转自 LeetCode 解答 一篇解释得很细的文章 牛顿迭代法是一种可以用来快速求解函数零点的方法。 以 LeetCode 上的一题为例&#xff1a;模拟 int sqrt(x) 函数&#xff0c;返回的开方值向下取整。 为了叙述方便&#xff0c;我们用 C 表示待求出平方根的那个整数。显然&#xff…