最近我一直在搞乱图像算法,部分是为了好玩,部分是为了保持我的编程技巧.
我刚刚实现了一个"最近邻居"算法,该算法在图像中选取n个随机像素,然后将图像中每个其他像素的颜色转换为n个所选像素集合中最近邻居的颜色.结果是对图像的一种"磨砂玻璃"效果,对于合理大的n值(如果n太小则图像变得块状).
我只是想知道是否有人在图像上有任何其他好的/有趣的算法可能有趣的实现?
汤姆
我是Java新手.
我正在努力做到
import org.apache.http.Header;
Header<NameValuePair> nvps = new HeaderList<NameValuePair>();
//....adding some headers
httppost.setHeaders(nvps);
Run Code Online (Sandbox Code Playgroud)
但是说
The type Header is not generic; it cannot be parameterized with arguments <NameValuePair>
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
在过去,编程习惯涉及较少的猜测.我会编写一些代码行,并且100%确定代码的作用以及它不会一目了然.错误主要是拼写错误,但与功能无关.
在过去的几年里,我认为这种"试错"编程有一种趋势:编写代码(就像在草稿中一样),然后迭代调试,直到程序的行为符合要求.测试,再次测试,然后再测试.有趣的是,在我的Visual Studio中,"运行"按钮已被标记为"调试"的按钮所取代(=我知道你有一些错误!).我不得不承认,在我编写的几个应用程序中,我无法保证无错误的代码.
你怎么看 ?或者我们的系统现在过于复杂(浏览器/ OS/Service Pack兼容性等),这证明了在所有类型的环境中进行测试的合理性.
如果我有一个Haskell ADT,例如:
data Foo
= A Int Double
| B Bool [Integer]
| C (Maybe String) Float
Run Code Online (Sandbox Code Playgroud)
的A,B和C被称为数据构造 ; 有时作为价值构造者.但是正确的名称是什么:
B Bool [Integer]; 和Doublein A或[Integer]in B?haskell functional-programming terminology algebraic-data-types
问题是我正在检查一些文件名中带有特殊字符的文件 - 当TortoiseSVN尝试检查代码时,它无法创建这些文件并且结帐失败.这也适用于更新.是否有任何修复/解决方法,可能提供备用文件名或其他东西?
更新:显然,这些文件是由xcode创建的.有谁知道他们做了什么?这将打破建立,如果我更改文件名,像所有的>到-什么?
在Java中,您可能会尝试stackoverflow.com使用与URL匹配的正则表达式Pattern.compile("stackoverflow.com").但这是错误的,因为它.在正则表达式中具有特殊含义.解决这个问题的最简单的方法是写Pattern.compile(Pattern.quote("stackoverflow.com"))哪个就出来:Pattern.compile("\\Qstackoverflow.com\\E")其中"引号"的整个字符串.
我想在JavaScript中做同样的事情,但JavaScript的正则表达式并没有赋予任何含义\Q,\E并且它看起来不像是等效的JavaScript,所以我不知道如何去做.我的第一个想法(请参阅下面的答案)是在JavaScript正则表达式中具有特殊含义的任何字符之前加上反斜杠,但这似乎容易出错,我怀疑有人可能知道更好的方法.
这是针对Firefox扩展,因此Mozilla特定的解决方案是可以的.
我正在编写一个项目,我需要通过网络传输一组类似的图像.为了加快速度,我想到了做大多数电影编解码器所做的事情.有关键帧,然后只发送更改.
现在,我得到的是一组BufferedImages所以与文本文件类似,我基本上只想区分它们并发送补丁.但是我以前从来没有真正使用过图像,所以如果我这样做的话,它会很糟糕.
那么,实现这样的事情的最佳方式是什么,或者这样的事情已经有了很好的实现?
我想将图像存储在一个字节数组和二进制diff中它们不会非常有效.
编辑:我需要传输这些图像.编辑2:与实现的具体细节不同之处在于:算法的最有效思想是什么.就像只使用5px块而不是忽略px如果它只是变化那么少,眼睛就不会注意到(我可以忍受一些质量损失)
我遇到了以下函数加密/细微包,这引起了我很多好奇,希望有人能解释它背后的目的.谢谢,
// ConstantTimeByteEq returns 1 if x == y and 0 otherwise.
27 func ConstantTimeByteEq(x, y uint8) int {
28 z := ^(x ^ y)
29 z &= z >> 4
30 z &= z >> 2
31 z &= z >> 1
32
33 return int(z)
34 }
Run Code Online (Sandbox Code Playgroud) 问题很简单:)
我想从定义的起始位置开始一个YouTube视频.
在常规浏览器中,您可以通过在URL的末尾添加#t = 1m20s来实现此目的,如:
http://www.youtube.com/watch?v=HKdsra1O20Y#t=30m10s
但是如果我在Intent中使用该URL,Android播放器就不会在那时开始.
我正在使用它来启动活动:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=HKdsra1O20Y#t=30m10s")));
Run Code Online (Sandbox Code Playgroud)
但视频从开头开始:(
谢谢
我有一个firefox扩展,它监听"http-on-modify-request"并检查来自firefox的所有GET请求.我希望能够取消请求(比如向页面返回失败代码)或修改请求的URI但似乎无法做到.例如,nsiHttpChannel对象不允许它
delete httpChannel;
Run Code Online (Sandbox Code Playgroud)
或重置为空请求
httpChannel = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Components.interfaces.nsIXMLHttpRequest);
Run Code Online (Sandbox Code Playgroud)
不工作(你不能修改URI).
那么你如何在firefox扩展中拦截和修改 http GET请求.