[{"data":1,"prerenderedAt":253},["ShallowReactive",2],{"repo-dmtrkovalenko-odiff-zh-CN":3,"i18n-dmtrkovalenko-odiff-zh-CN":250},{"mirrorPool":4,"detail":13,"relatedProjects":158},[5,9],{"key":6,"label":7,"base":8,"type":6},"github","mirror.github","https:\u002F\u002Fgithub.com\u002F",{"key":10,"label":11,"base":12,"type":10},"auto-proxy","mirror.autoProxy","https:\u002F\u002Fgithub.xxlab.tech\u002F",{"owner":14,"repo":15,"repoId":16,"repoUrl":17,"starCount":18,"language":19,"description":20,"languages":21,"screenshots":28,"homepage":29,"pushedAt":30,"ownerAvatar":31,"ownerName":32,"ownerBio":33,"lastSyncTime":34,"lastReleaseTime":35,"tags":36,"license":44,"category":45,"subgroup":46,"releases":47},"dmtrKovalenko","odiff",310022924,"https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff",3224,"Zig","A very fast SIMD-first image comparison library (with nodejs API)",{"Zig":22,"TypeScript":23,"JavaScript":24,"C":25,"Assembly":26,"Shell":27},68.3,13.6,12.6,2.2,1.9,1.4,[],"","2026-08-24","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16926049?v=4","Dmitriy Kovalenko","Made some open source you might already be using.\r\n\r\nHave seen some shit in testing software, fast SIMD optimized code and UI components. ","2026-10-04T13:16:16.705083+00:00","2026-07-23T02:36:36Z",[37,38,39,15,40,41,42,43],"diff","hacktoberfest","image-comparison","pixel-perfect","snapshot","testing-tool","visual","MIT","tools","图像处理工具",[48,68,83,96,107,119,134,146],{"tag":49,"publishAt":35,"semVer":50,"prerelease":54,"assets":55},"v4.5.0",[51,52,53],4,5,0,false,[56,62],{"fileName":57,"sizeMb":58,"sha256":59,"downloadCount":60,"originUrl":61},"odiff-windows-arm64.exe",2.59,"8fbc0d41d92ddee7790691a61e175845878824cc3851e9c69fe5d630223897d7",28,"https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.5.0\u002Fodiff-windows-arm64.exe",{"fileName":63,"sizeMb":64,"sha256":65,"downloadCount":66,"originUrl":67},"odiff-windows-x64.exe",3.34,"d2d38dfbdeff70c6d6a2f48ea41c9fe702f866c1f836c6896a677bf97652e4f1",183,"https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.5.0\u002Fodiff-windows-x64.exe",{"tag":69,"publishAt":70,"semVer":71,"prerelease":54,"assets":72},"v4.4.4","2026-07-22T19:46:00Z",[51,51,51],[73,78],{"fileName":57,"sizeMb":74,"sha256":75,"downloadCount":76,"originUrl":77},2.58,"5a7895907c5fdeb5374e18b9430d6492e563dc9929021edc1595b7138999dbe2",2,"https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.4.4\u002Fodiff-windows-arm64.exe",{"fileName":63,"sizeMb":79,"sha256":80,"downloadCount":81,"originUrl":82},3.33,"3c35a81e3bbbf618d4e66165156af861ab1f56064bf1efd9c6e97092324a8113",13,"https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.4.4\u002Fodiff-windows-x64.exe",{"tag":84,"publishAt":85,"semVer":86,"prerelease":54,"assets":88},"v4.4.3-dev.2","2026-07-22T01:52:46Z",[51,51,87],3,[89,92],{"fileName":57,"sizeMb":74,"sha256":90,"downloadCount":87,"originUrl":91},"439772bc1721bc1a9017b98f4b90c7b51ce05debf64a864660b9b0c259c981aa","https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.4.3-dev.2\u002Fodiff-windows-arm64.exe",{"fileName":63,"sizeMb":79,"sha256":93,"downloadCount":94,"originUrl":95},"5487b13d8dbac697676bd91d0a5744e8491e2ebff1b812b1cb187c0d1e7aabbf",7,"https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.4.3-dev.2\u002Fodiff-windows-x64.exe",{"tag":97,"publishAt":98,"semVer":99,"prerelease":54,"assets":100},"v4.4.3-dev.1","2026-07-22T01:02:05Z",[51,51,87],[101,104],{"fileName":57,"sizeMb":74,"sha256":102,"downloadCount":87,"originUrl":103},"be7937f07fdafe15eaf5873a9e706c7d857667f0e787eca40e6acb18076cffcc","https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.4.3-dev.1\u002Fodiff-windows-arm64.exe",{"fileName":63,"sizeMb":79,"sha256":105,"downloadCount":87,"originUrl":106},"94906b6edb0dfc4f1930aa5889938921d7c4349fa33180062d2a962ffae30dcb","https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.4.3-dev.1\u002Fodiff-windows-x64.exe",{"tag":108,"publishAt":109,"semVer":110,"prerelease":54,"assets":111},"v4.4.2","2026-07-21T21:53:10Z",[51,51,76],[112,115],{"fileName":57,"sizeMb":74,"sha256":113,"downloadCount":76,"originUrl":114},"73196366020984aca2fff0a6a675fa978cdbcf1f5cfdacc82dac241b9ed6b91e","https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.4.2\u002Fodiff-windows-arm64.exe",{"fileName":63,"sizeMb":79,"sha256":116,"downloadCount":117,"originUrl":118},"3c6ba41c805258a383ff1b42782c94492d0ceb242e2cda6615e22b37819ed739",6,"https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.4.2\u002Fodiff-windows-x64.exe",{"tag":120,"publishAt":121,"semVer":122,"prerelease":54,"assets":123},"v4.3.2","2025-11-30T19:43:38Z",[51,87,76],[124,129],{"fileName":57,"sizeMb":125,"sha256":126,"downloadCount":127,"originUrl":128},2.37,"8064bab4eb57cd13188b150585ae7841330710ae9ed4f7961b150dcdf1ab31ac",37,"https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.3.2\u002Fodiff-windows-arm64.exe",{"fileName":63,"sizeMb":130,"sha256":131,"downloadCount":132,"originUrl":133},3.04,"30c2e6081efe6a2e3f4a464a7226a940ded781cf65c4e113fd458d463c686c1b",348,"https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.3.2\u002Fodiff-windows-x64.exe",{"tag":135,"publishAt":136,"semVer":137,"prerelease":54,"assets":139},"v4.3.1","2025-11-30T19:37:07Z",[51,87,138],1,[140,143],{"fileName":57,"sizeMb":125,"sha256":141,"downloadCount":51,"originUrl":142},"e4fbe131e578950a007bb40efa5428022b63a41796c32822de3507d6779e12b3","https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.3.1\u002Fodiff-windows-arm64.exe",{"fileName":63,"sizeMb":130,"sha256":144,"downloadCount":81,"originUrl":145},"c3d9bd6da19535036e8fcbc78f595ac262beab7069cdd2d59c5d524a7634d4fc","https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.3.1\u002Fodiff-windows-x64.exe",{"tag":147,"publishAt":148,"semVer":149,"prerelease":54,"assets":150},"v4.3.0","2025-11-30T06:11:53Z",[51,87,53],[151,154],{"fileName":57,"sizeMb":125,"sha256":152,"downloadCount":51,"originUrl":153},"66e1b1bc7394009d92cf441e44549e96bafe71a4855af09d09b48e726caafba2","https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.3.0\u002Fodiff-windows-arm64.exe",{"fileName":63,"sizeMb":130,"sha256":155,"downloadCount":156,"originUrl":157},"1fb111b6f38efe56530498960e69c159eab80ed805ef2b866219cc9f884b9797",9,"https:\u002F\u002Fgithub.com\u002FdmtrKovalenko\u002Fodiff\u002Freleases\u002Fdownload\u002Fv4.3.0\u002Fodiff-windows-x64.exe",[159,184,200,219,231,242],{"owner":160,"repo":161,"repoId":162,"category":163,"subgroup":46,"language":164,"tags":165,"starCount":173,"ownerUid":174,"latestTag":175,"platforms":176,"lastReleaseTime":181,"downloadCount":182,"description":183},"storytold","photocraft",1398080271,"development","Rust",[166,167,168,169,170,171,172],"art","image-editing","image-editing-software","image-editor","images","photo-editing","rust",78940,76897702,"v0.23.1",[177,178,179,180],"windows","mac","linux","other","2026-11-12T05:07:51Z",82958,"PhotoCraft 是一款用纯 Rust 编写的开源桌面图像编辑器，支持图层、蒙版、文字、矢量与真实 PSD 文件，可离线完成修图。",{"owner":185,"repo":186,"repoId":187,"category":45,"subgroup":46,"language":188,"tags":189,"starCount":193,"ownerUid":194,"latestTag":195,"platforms":196,"lastReleaseTime":197,"downloadCount":198,"description":199},"danielgatis","rembg",286500101,"Python",[190,191,192],"background-removal","image-processing","python",25364,7380,"v2.0.87",[177],"2026-11-06T01:18:29Z",31,"rembg 是基于 AI 模型的图片背景移除工具，提供命令行、Python 库、HTTP 服务和 Docker 四种使用方式，模型本地推理即可把主体抠出成透明背景。",{"owner":201,"repo":201,"repoId":202,"category":45,"subgroup":46,"language":203,"tags":204,"starCount":212,"ownerUid":213,"latestTag":214,"platforms":215,"lastReleaseTime":216,"downloadCount":217,"description":218},"ImageMagick",35780977,"C",[205,206,207,208,191,209,210,211],"command-line-image-tool","digital-image-editing","image-conversion","image-manipulation","imagemagick","mastering-digital-image-alchemy","open-source-software",17781,12486768,"7.1.2-35",[177,179,180],"2026-10-31T23:28:18Z",7349,"ImageMagick 是一个开源的图像处理软件套件，提供命令行工具与多语言接口，可在 Linux、Windows、macOS 上完成图片的创建、编辑、合成与格式转换。",{"owner":220,"repo":221,"repoId":222,"category":45,"subgroup":46,"language":203,"tags":223,"starCount":224,"ownerUid":225,"latestTag":226,"platforms":227,"lastReleaseTime":228,"downloadCount":229,"description":230},"darktable-org","darktable",3791835,[],13441,1561544,"nightly",[177,178,179],"2026-11-13T00:48:23Z",107,"darktable 是一款开源的摄影工作流与 RAW 显影软件，负责照片的导入、显影、修饰与组织管理，可在 Linux、Windows、macOS 上运行。",{"owner":232,"repo":233,"repoId":234,"category":45,"subgroup":46,"language":235,"tags":236,"starCount":237,"ownerUid":238,"latestTag":29,"platforms":239,"distribution":240,"lastReleaseTime":29,"downloadCount":53,"description":241},"KDE","krita",43975673,"C++",[],10743,14312869,[],"official-site","Krita 是一款开源的数字绘画软件，面向插画、漫画与概念设计，提供完整的笔刷引擎与绘画工具，可在 Windows、macOS、Linux 上运行。",{"owner":243,"repo":243,"repoId":244,"category":45,"subgroup":46,"language":29,"tags":245,"starCount":246,"ownerUid":247,"latestTag":29,"platforms":248,"distribution":240,"lastReleaseTime":29,"downloadCount":53,"description":249},"photopea",46613660,[],8526,15955558,[],"photopea\u002Fphotopea 是 Photopea 在线图片编辑器的官方反馈仓库，用于收集缺陷与建议，本身不含编辑器源码，软件在浏览器中直接使用。",{"description":251,"readmeHtml":252},"odiff 是一款高速的图像对比工具，用命令行或 Node.js 接口比较两张图片的视觉差异并输出差分图，适合视觉回归测试，可在各主流平台运行。","\u003Ch2 id=\"项目概述\">项目概述\u003C\u002Fh2>\u003Cp>odiff 是一款以速度为核心的图像对比工具，用来判断两张图片在视觉上是否存在差异，并把差异区域标注出来。它面向截图、照片、AI 生成图这类高度相似的图片，比较结果在毫秒级返回。软件现在用 Zig 编写并做了 SIMD 指令优化，提供命令行工具和 Node.js 接口，很适合接入自动化测试与视觉回归流程。\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>项目\u003C\u002Fth>\n\u003Cth>内容\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>运行平台\u003C\u002Ftd>\n\u003Ctd>Windows、macOS、Linux\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>软件类型\u003C\u002Ftd>\n\u003Ctd>图像对比 \u002F 视觉回归\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>使用方式\u003C\u002Ftd>\n\u003Ctd>命令行 + Node.js 接口\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>开源许可\u003C\u002Ftd>\n\u003Ctd>MIT\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cblockquote>\n\u003Cp>毫秒级找出两张图的视觉差异。\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch2 id=\"主要功能\">主要功能\u003C\u002Fh2>\u003Cul>\n\u003Cli>\u003Cstrong>跨格式对比\u003C\u002Fstrong>：不必统一格式，可以直接比较 JPG 与 PNG 等不同格式的图片\u003C\u002Fli>\n\u003Cli>\u003Cstrong>多格式支持\u003C\u002Fstrong>：支持 PNG、JPEG、WebP 与 TIFF 等常见图片格式\u003C\u002Fli>\n\u003Cli>\u003Cstrong>抗锯齿识别\u003C\u002Fstrong>：能识别并忽略抗锯齿造成的细微像素差\u003C\u002Fli>\n\u003Cli>\u003Cstrong>区域忽略\u003C\u002Fstrong>：可指定忽略某些区域，避免固定位置的干扰影响判定\u003C\u002Fli>\n\u003Cli>\u003Cstrong>差异可视化\u003C\u002Fstrong>：把差异区域输出成一张差分图，问题一目了然\u003C\u002Fli>\n\u003Cli>\u003Cstrong>视觉算法判定\u003C\u002Fstrong>：按人眼感知方式计算差异，结论更贴近肉眼观感\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SIMD 加速\u003C\u002Fstrong>：针对 SSE2、AVX2、AVX512 与 NEON 做了指令级优化\u003C\u002Fli>\n\u003Cli>\u003Cstrong>内存可控\u003C\u002Fstrong>：处理大图时占用可控，适合放进持续集成环境\u003C\u002Fli>\n\u003Cli>\u003Cstrong>服务模式\u003C\u002Fstrong>：提供常驻服务模式，省去反复启动进程的开销\u003C\u002Fli>\n\u003Cli>\u003Cstrong>终端直显\u003C\u002Fstrong>：不输出差分图时，可直接在支持的终端里显示结果\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"适用人群\">适用人群\u003C\u002Fh2>\u003Cul>\n\u003Cli>前端与自动化测试工程师\u003C\u002Fli>\n\u003Cli>视觉回归测试开发者\u003C\u002Fli>\n\u003Cli>截图对比与验收测试人员\u003C\u002Fli>\n\u003Cli>需要批量比图的脚本开发者\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"快速上手\">快速上手\u003C\u002Fh2>\u003Col>\n\u003Cli>安装 odiff：用 \u003Ccode>npm install odiff-bin\u003C\u002Fcode>，或从发行页下载对应平台的二进制文件\u003C\u002Fli>\n\u003Cli>运行 \u003Ccode>odiff a.png b.png\u003C\u002Fcode> 直接比较，结果会显示在支持图形协议的终端里\u003C\u002Fli>\n\u003Cli>运行 \u003Ccode>odiff a.png b.png diff.png\u003C\u002Fcode> 把差异输出成图片\u003C\u002Fli>\n\u003Cli>在 Node.js 中调用 \u003Ccode>compare()\u003C\u002Fcode>，取得是否一致与差异原因\u003C\u002Fli>\n\u003Cli>在 Playwright、Cypress 等测试框架里接入，做持续视觉校验\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"核心优势\">核心优势\u003C\u002Fh2>\u003Cul>\n\u003Cli>\u003Cstrong>速度很快\u003C\u002Fstrong>：毫秒级返回结果，批量比对不拖时间\u003C\u002Fli>\n\u003Cli>\u003Cstrong>接入简单\u003C\u002Fstrong>：命令行与 Node.js 两种用法，几分钟就能跑起来\u003C\u002Fli>\n\u003Cli>\u003Cstrong>判定贴近肉眼\u003C\u002Fstrong>：按视觉感知算法判断差异，减少误报\u003C\u002Fli>\n\u003Cli>\u003Cstrong>适合自动化\u003C\u002Fstrong>：内存占用可控，能稳定运行在持续集成流水线里\u003C\u002Fli>\n\u003Cli>\u003Cstrong>安装省事\u003C\u002Fstrong>：npm 一条命令装好，自动匹配当前平台的二进制\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"系统要求\">系统要求\u003C\u002Fh2>\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>项目\u003C\u002Fth>\n\u003Cth>要求\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>操作系统\u003C\u002Ftd>\n\u003Ctd>Windows、macOS、Linux\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>运行方式\u003C\u002Ftd>\n\u003Ctd>命令行工具或 Node.js 调用\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>支持格式\u003C\u002Ftd>\n\u003Ctd>PNG、JPEG、WebP、TIFF\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>安装渠道\u003C\u002Ftd>\n\u003Ctd>npm 包或发行页二进制文件\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch2 id=\"注意事项\">注意事项\u003C\u002Fh2>\u003Cul>\n\u003Cli>\u003Cstrong>差分图只能是 PNG\u003C\u002Fstrong>：输出差异图时格式固定为 PNG，不支持其他格式\u003C\u002Fli>\n\u003Cli>\u003Cstrong>适合相似图片\u003C\u002Fstrong>：工具针对高度相似的图片设计，差异过大的图片判定意义有限\u003C\u002Fli>\n\u003Cli>\u003Cstrong>终端显示有前提\u003C\u002Fstrong>：不输出差分图时，依赖终端支持 kitty 图形协议才能直接显示\u003C\u002Fli>\n\u003Cli>\u003Cstrong>忽略区域要谨慎\u003C\u002Fstrong>：忽略区域过多会掩盖真正的差异，配置时需要权衡\u003C\u002Fli>\n\u003C\u002Ful>\n",1794593622830]