在c++中实现warp/liquify工具
Implementing the warp/liquify tool in C++
我正在寻找一种方法来扭曲图像,类似于liquify/IWarp工具在Photoshop/Gimp中的工作方式。
我想用它来移动图像上的几个点,使它看起来比原来更宽。
谁有什么可以用来做这件事的库的想法?我目前在同一个项目中使用OpenCV所以如果有方法使用它会很简单但我对任何东西都是开放的
谢谢。
编辑:这是我想做的一个例子https://i.stack.imgur.com/LJdWF.png我所做的就是把一些点拉到旁边这就是我想在应用程序中做的
从这个搜索'image warp operator source c++'我得到:
…增加了函数'CImg::[get_]warp()',可以使用变形....扭曲图像新增功能'CImg::save_cpp()'允许直接将图像保存为C/c++源代码. ...
OpenCV的remap
可以做到这一点。你只需要提供x和y的位移图。如果你聪明的话,我建议你可以直接创建位移图,这对于类似于Photoshop的liquify的笔触操作来说是很好的。网格扭曲和稀疏点映射方法是另一种选择,但本质上是基于插值计算位移图。
您可能想看看http://code.google.com/p/imgwarp-opencv/。这个库似乎正是你所需要的:基于稀疏网格的图像扭曲。
另一个选择当然是自己生成位移并使用OpenCV的cv::Remap()函数
相关文章:
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- 在clang++预处理器中确定gcc工具链版本
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 参数化自定义CMake工具链
- 如何在QT中的自定义视频小工具t上绘制矩形
- 使用 C++ 和 i2c 工具从虚拟 i2c 写入和读取
- 用于C++的静态二进制检测或二进制重写工具和框架
- 在OSX上使用CMake将Adobe的XMP工具包构建为共享库的最简单方法是什么?
- AWS IoT 开发工具包:通过 TCP 端口 443 使用 MQTT
- 在官方张量流 resnet50 模型上运行 tflite 精度工具
- Q没有管理权限的 exe 无法启动维护工具
- C++合并排序可视化工具
- 为Bazel工具链指定sysroot
- 在自动工具中包含用于不同bin_Programs的不同库
- 如何使用MSVC 2019创建和使用Qt 5.14.0自定义小工具插件
- Eclipse CDT clang 工具链 - 无法从链接器选项中删除 stdlibc++,但可以添加 libc++,E
- 使用不同的工具时,Eccodes 会产生不同的结果
- Clang 工具,用于提取给定 lambda 类型的 lambda 主体
- 构建LLVM 10 C++工具链的问题
- 在c++中实现warp/liquify工具