社区
图形处理/算法
帖子详情
如何比较图片的差异?思路即可,无须代码.
terran_ye
2008-08-08 09:44:33
在做远程桌面协助,
现在的思路双方建立P2P的连接,然后再每隔1秒截屏,比较前后2次图片的变化的地方,再把变化的地方发送过去
可是如何才能最快的大体比较出2个图片的差异? 效率,时间.
谢谢,答者有分.
...全文
1318
22
打赏
收藏
如何比较图片的差异?思路即可,无须代码.
在做远程桌面协助, 现在的思路双方建立P2P的连接,然后再每隔1秒截屏,比较前后2次图片的变化的地方,再把变化的地方发送过去 可是如何才能最快的大体比较出2个图片的差异? 效率,时间. 谢谢,答者有分.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mlhy20060406
2009-04-22
打赏
举报
回复
mark
terran_ye
2008-08-27
打赏
举报
回复
是的,我参考了VNC的代码,用钩子做,在LAN很快,WAN上就不怎么理想,有些局部的位置没有刷新,
用mirror driver的话,貌似不支持dirctx 3d。
terran_ye
2008-08-21
打赏
举报
回复
[Quote=引用 19 楼 aa65433 的回复:]
引用 16 楼 terran_ye 的回复:
引用 15 楼 aa65433 的回复:
服务端只管发整图,到客户端比较不同,分块比较,然后刷不同
发整图数据量超大,我现在的demo,在局域网内传送1秒截图一次,其中处理的时间就用了0.3秒多,debugview看的
保存上一张图片,抓到一张新图后,在内存中按块用memcmp比较,如果发现有不同,就发送此块,然后到客户端组装起来
[/Quote]
是的,我现在就是这么写的,在考虑mirror driver
aa65433
2008-08-21
打赏
举报
回复
[Quote=引用 16 楼 terran_ye 的回复:]
引用 15 楼 aa65433 的回复:
服务端只管发整图,到客户端比较不同,分块比较,然后刷不同
发整图数据量超大,我现在的demo,在局域网内传送1秒截图一次,其中处理的时间就用了0.3秒多,debugview看的
[/Quote]
保存上一张图片,抓到一张新图后,在内存中按块用memcmp比较,如果发现有不同,就发送此块,然后到客户端组装起来
ljooo
2008-08-20
打赏
举报
回复
[Quote=引用 11 楼 zzz3265 的回复:]
比较直接用 memcmp , 10M以内的数据不会超过 1毫秒
当然你不能用 GetPix, GetPix非常慢, 应该直接取出内存块来比较,
图像压缩可以把前后两幅图像相减, 再找个压缩算法压缩相减的结果
另外一边只要加上这个结果就是新的图像
[/Quote]
我也觉得简单的比较不会超过1毫秒。你可以考虑把你的比较代码贴出来
wangk
2008-08-20
打赏
举报
回复
[Quote=引用楼主 terran_ye 的帖子:]
在做远程桌面协助,
现在的思路双方建立P2P的连接,然后再每隔1秒截屏,比较前后2次图片的变化的地方,再把变化的地方发送过去
可是如何才能最快的大体比较出2个图片的差异? 效率,时间.
谢谢,答者有分.
[/Quote]
请参考请他VNC开源项目。
它们通常是安装钩子监视屏幕区域的变化,然后压缩传送变化的图片区。
用判断图像变化的办法效率太低,很少被使用。
terran_ye
2008-08-19
打赏
举报
回复
[Quote=引用 11 楼 zzz3265 的回复:]
比较直接用 memcmp , 10M以内的数据不会超过 1毫秒
当然你不能用 GetPix, GetPix非常慢, 应该直接取出内存块来比较,
图像压缩可以把前后两幅图像相减, 再找个压缩算法压缩相减的结果
另外一边只要加上这个结果就是新的图像
[/Quote]
我现在把屏幕的截图,按 16 :12的比例分成了192快,
用 GetDIBits 得到小快的图形数据然后比较,不一样则发送,效率还不是很好,
发送的时候我先转为jpg 然后再发送,也不理想感觉,
你提到的图象压缩算法很有意思,试试先.
多谢大家
terran_ye
2008-08-19
打赏
举报
回复
[Quote=引用 15 楼 aa65433 的回复:]
服务端只管发整图,到客户端比较不同,分块比较,然后刷不同
[/Quote]
发整图数据量超大,我现在的demo,在局域网内传送1秒截图一次,其中处理的时间就用了0.3秒多,debugview看的
aa65433
2008-08-19
打赏
举报
回复
服务端只管发整图,到客户端比较不同,分块比较,然后刷不同
terran_ye
2008-08-19
打赏
举报
回复
老大给我个思路,用mirror driver,大家可有这方面的demo?
ok1234567
2008-08-19
打赏
举报
回复
可以试试:
在被控方保存上幅图像(已经传送的)
截取新图,与上幅图进行异或运算(可以提高下步的压缩比)
用zlib压缩
然后发送
主控端作相应处理
最好不要使用gif,jpg,直接用位图
csgdseed
2008-08-08
打赏
举报
回复
[Quote=引用 1 楼 orbit 的回复:]
将屏幕分成固定的若干小块,对其分别编号,分块比较,每次只传送发生改变的块
[/Quote]
这个比较好吧
bitxinhai
2008-08-08
打赏
举报
回复
可以通过两幅图像的彩色信息,灰度信息,直方图信息和一些其他的特征
进行比较两幅图像的差异!!!
daidongsheng
2008-08-08
打赏
举报
回复
把图片编码后传过来解码也行的吧
闪破风浪
2008-08-08
打赏
举报
回复
你是做图像的鉴定还是干嘛呀??????
stivenjia
2008-08-08
打赏
举报
回复
我只知道逐个像素比较
「已注销」
2008-08-08
打赏
举报
回复
即使使用逐像素的比较,1S也足够了。
比较的时候使用异或应该能加快点速度
吹泡泡的小猫
2008-08-08
打赏
举报
回复
将屏幕分成固定的若干小块,对其分别编号,分块比较,每次只传送发生改变的块
Yofoo
2008-08-08
打赏
举报
回复
比较直接用 memcmp , 10M以内的数据不会超过 1毫秒
当然你不能用 GetPix, GetPix非常慢, 应该直接取出内存块来比较,
图像压缩可以把前后两幅图像相减, 再找个压缩算法压缩相减的结果
另外一边只要加上这个结果就是新的图像
可微函树
2008-08-08
打赏
举报
回复
考虑效率就要对图像降采样,小波处理 处理速度不是问题 短时间内能实现传输传输是问题的关键
加载更多回复(2)
基于Spark的分布式深度学习和认知计算
你是否曾经面对多个优化算法不知所措?或者无法自由选择学习框架?又或许因为Caffe,Tensorflow, Theano, Torch的诸多参数设置而烦恼?或简单的认为只要有大数据就可以训练计算 机了?如果你不懂复杂的数学、统计学理论,还能做训练吗?...... 带着十万个为什么,让我们与深度学习技术讲师一起,了解基于Spark的分布式数据探索、机器学习/深度学习和认知计算。
前端React教程第七课 ReactDOM.render 是如何串联渲染链路的
13 ReactDOM.render 是如何串联渲染链路的?(上) 由于 ReactDOM.render 的内容
比较
多,所以这里拆分了上中下三讲来讲解。 在上一讲,我们站在宏观角度对 Fiber 的架构分层和迭代动机有了充分的把握。从本讲开始,我们将以首次渲染为切入点,拆解 Fiber 架构下 ReactDOM.render 所触发的渲染链路,结合源码理解整个链路中所涉及的初始化、render 和 commit 等过程。 ReactDOM.render 调用栈的逻辑分层 开篇先给到你一个简单的 React
java面试基础2
负载均衡 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而
无须
其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。这种群集技术可以用最少的投资获得接近于大型主机
13 万字 C 语言从入门到精通保姆级教程2021 年版
13 万字C语言保姆级教程,从入门到精通。
学习笔记
相换工作的朋友可以试着做一下:1. CLR、CTS、CLS 分别是什么意思? 共公语言运行库,通用类型系统,公共语言规范2. 什么是基元类型? 由编译器直接支持的数据类型称为基元类型.3. 值类型和引用类型的区别是什么?为什么要设计值类型?值类型会被GC回收吗?值类型是否能在托管堆分配? 4. Equals、==、ReferenceEquals 如何区别使用? 5. 什么是虚方法?如何理解多态...
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章