• 高拍仪图片编辑功能


    今天完成主要图片功能

    图片功能主要包括以下几项:

    1. 获取图片

    图片获取方式有4种:

    1. 自视频预览拍照

    2. 打开已有文件

    3. 自剪贴板中复制图片

    4. 屏幕截图

    后续还可以加上第5种方式:

    扫描仪扫描得到图片

    除通过上面界面操作外,还可在图片编辑状态下,选择缩略图打开目标文件

    1. 拖动、缩放

    这个简单

    1. 编辑

    看代码就知道有哪些功能了

            if (16 == tag) // 自动对比度

                FQaImage->DoQaLight((128 - FQaImage->DoQaMean()) / 4, 120);

            if (14 == tag) // 增加对比度

                FQaImage->DoQaLight(0, 10);

            if (15 == tag) // 减少对比度

                FQaImage->DoQaLight(0, -10);

            if (20 == tag) // 颜色取反

                FQaImage->DoQaNegative();

            if (21 == tag) // 灰度图转化

                FQaImage->DoQaGrayScale();

            if (22 == tag) // 羽化效果

                FQaImage->DoQaDither();

            if (23 == tag) { // 逆时针旋转

                FQaImage->DoQaRotateLeft();

                SwapWidthAndHeight();

            }

            if (24 == tag) { // 顺时针旋转

                FQaImage->DoQaRotateRight();

                SwapWidthAndHeight();

            }

            if (25 == tag) { // 旋转180度

                FQaImage->DoQaRotateRight();

                FQaImage->DoQaRotateRight();

            }

            if (26 == tag) // 水平翻转

                FQaImage->DoQaMirror();

            if (27 == tag) // 垂直翻转

                FQaImage->DoQaFlip();

            if (28 == tag) { // 旋转且镜像

                FQaImage->DoQaFlip();

                FQaImage->DoQaRotateLeft();

                SwapWidthAndHeight();

            }

            if (29 == tag || // 普通阈值

                30 == tag) { // 系统预留值

                static UnicodeString threshold = "128";

                if (InputQuery("输入阈值", "请输入二值化的阈值(0-255)", threshold)) {

                    try {

                        int value = threshold.ToInt();

                        if (29 == tag)

                            FQaImage->DoQaThreshold(value);

                        else {

                            RGBQUAD c = {

                                255, 255, 255, 0

                            };

                            FQaImage->DoQaThreshold2(value, true, c, true);

                        }

                    }

                    catch(...) {

                        threshold = "128";

                    }

                }

            }

            if (31 == tag) { // 智能阈值

                FQaImage->DoQaAdaptiveThreshold();

                FQaImage->DoQaGrayScale();

            }

    1. 剪裁、复制、刷新显示

    参照视频方式实现。

    1. 高级编辑

    主要有以下一些高级编辑功能

    用户一般用不到这些,提供这些功能,聊胜于无。

    1. 优化

    快速查看优化效果并可快速应用

    反相效果:

    1. 选择及后续操作

    今天主要精力在于可以选择图像的部分区域,然后删除或保留这一部分

    暂时支持三种选择方式

     

    以后再加入其它方式,包括魔术棒方式

    点击后,可在工作区以图形化方式进行区域选择操作,如

    矩形框选:

    椭圆框选:

    多边形框选:

    上述选择操作可以反向选择,即选该区域外的部分,以下为上述对应的三个反向选择:

     

    选择操作之后,可以进行删除操作,即当前被选择部分将被清空为纯白色:

    有了选择及删除操作,将方便对图片的识别前预处理,即将效果不太好的地方选中删除,以提高后续识别准确率。

    1. Undo/Redo

    支持无限级的Undo/Redo操作。

     

    图片编辑功能基本完成,明天开始完善OCR识别功能。

  • 相关阅读:
    1.在html中引入js文件和Jquery框架
    在html页面添加一个隐藏域,并渲染一个需要保存的数值,在js中需要再获取,而不影响页面结构
    Django REST framework 使用简记
    BlockingQueue-线程的阻塞队列
    ExecutorService生命周期
    Java transient关键字使用小记
    数组
    Git 常用命令
    Git 常见报错
    python 常见报错
  • 原文地址:https://www.cnblogs.com/drgraph/p/3063931.html
Copyright © 2020-2023  润新知