安徽省建设干部培训学校网站,it外包服务网,网站前端怎么做方法,南宁网站建设_seo优化服务公司一、前言
2023-03-23我发布了基于加权概率模型#xff08;杰林码的理论模型#xff09;的图像颜色增强和轮廓预测的应用方法。效果还不太明显#xff0c;于是我又花了2周的时间进行了技术优化。下面仅提供了x86下的BMP和JPG对应的lib和dll#xff0c;本文中的算法属于我国…一、前言
2023-03-23我发布了基于加权概率模型杰林码的理论模型的图像颜色增强和轮廓预测的应用方法。效果还不太明显于是我又花了2周的时间进行了技术优化。下面仅提供了x86下的BMP和JPG对应的lib和dll本文中的算法属于我国自主的发明专利技术商用必须获得授权可提供linux麒麟、鸿蒙、x64、riscv、ARM等库可在GPU上实现视频清晰化处理。在相同的尺寸下加权概率模型优化后的效果 效率方面还不错一张1080P的图像大概能在1秒左右运算完毕。如果采用多线程完全可以在GPU上实现多帧优化。上面相关参数设置的比较夸张实际情况下可以根据个人感觉进行设置。
二、测试程序
int main() { // 3ULONGLONG t1, t2;WJLImageEnhancement wie;int err;char url1[200], url2[200];int i, length;ImageEnhanced imageEnhanced;// 设置对应的参数imageEnhanced.magnification 0; // 图像放大尺寸0为不放大仅做清晰化处理imageEnhanced.contour_size 15; // 轮廓像素范围影响清晰度和运算效率越大越清晰但运算所需时间越长imageEnhanced.jielin_ratio 35; // 杰林码系数0-49共50种值越接近0则可以分解出背景的子图越接近50则可以分解出前景子图imageEnhanced.foreground_clear_size 7; // 前景清晰化的像素范围imageEnhanced.background_clear_size 3; // 背景清晰化的像素范围imageEnhanced.threshold 13; // 相邻像素值之差的绝对阈值当绝对值大于等于threshold时属于需要清晰化的像素值配合foreground_clear_size和background_clear_size同时使用的const char* fileName xxxx; // xxxx为BMP图像的名称sprintf_s(url1, 200, D:\\%s.bmp, fileName);sprintf_s(url2, 200, D:\\%s-%d-%d-%d-%d-%d.bmp, fileName, imageEnhanced.magnification, imageEnhanced.jielin_ratio, imageEnhanced.contour_size, imageEnhanced.foreground_clear_size, imageEnhanced.background_clear_size);// 把灰度图像进行滤波变换t1 GetTickCount64();err wie.WJL_BMPFILE_ENHANCEMENT(url1, url2, imageEnhanced);t2 GetTickCount64();// 耗时包括了bmp图像读写和运算部分printf(运算总耗时%lld ms\n, t2 - t1);system(pause);return 0;
}三、vs2019下引用的方法
新建一个控制台项目然后右击 然后新建一个main.cpp
#include WJLImageEnhancement.h
#include stdio.h
#include stdlib.h
#include windows.h
#include time.h
#include math.h
using namespace std;
#ifdef WIN32
#define inline __inline
#endif // WIN32int main() { // 4ULONGLONG t1, t2;WJLImageEnhancement wie;int err;char url1[200], url2[200];ImageEnhanced imageEnhanced;// 设置对应的参数根据个人喜好设置imageEnhanced.magnification 0; // 图像放大尺寸0为不放大仅做清晰化处理imageEnhanced.contour_size 15; // 轮廓像素范围影响清晰度和运算效率越大越清晰但运算所需时间越长imageEnhanced.jielin_ratio 35; // 杰林码系数0-49共50种值越接近0则可以分解出背景的子图越接近50则可以分解出前景子图imageEnhanced.foreground_clear_size 5; // 前景清晰化的像素范围imageEnhanced.background_clear_size 2; // 背景清晰化的像素范围imageEnhanced.threshold 13; // 相邻像素值之差的绝对阈值当绝对值大于等于threshold时属于需要清晰化的像素值配合foreground_clear_size和background_clear_size同时使用的const char* fileName heye; // jpg的文件名sprintf_s(url1, 200, D:\\%s.jpg, fileName);sprintf_s(url2, 200, D:\\%s-%d-%d-%d-%d-%d.bmp, fileName, imageEnhanced.magnification, imageEnhanced.jielin_ratio, imageEnhanced.contour_size, imageEnhanced.foreground_clear_size, imageEnhanced.background_clear_size);// 把灰度图像进行滤波变换t1 GetTickCount64();err wie.WJL_JPGFILE_ENHANCEMENT(url1, url2, imageEnhanced);t2 GetTickCount64();// 耗时printf(变换算法总耗时%lld ms\n, t2 - t1);system(pause);return 0;
}比如下面的效果图 控制台运行时间 然后比较两张图的效果如下 参数不同将产生不同的效果 通过测试各参数的设置取值范围为 在杰林码超分辨率的算法程序内主要是ImageEnhanced结构体的参数直接影响到图像输出的质量。
参数名称取值范围功能说明magnification0-3尺寸放大参数0表示不放大1代表图像放大(11)(11)4倍2代表图像放大(21)(21)9倍一般情况下1080P放大到4K输入1即可一般设置为0-2jielin_ratio0-49杰林码算法的前景背景像素分离的核心参数越接近0获得的像素块越接近纹理背景越接近49获得的像素块越接近前景通过参数设置把图像分割成为前景像素块和背景像素块属于频率变换算法的一种一般设置为15-35contour_size4-32这个是以块为单位的轮廓预测参数一般情况下设置为15越小效率越高但是轮廓预测的越不准确一般设置为15-24foreground_clear_size1-16前景像素块内的连续像素个数此值越大运算越慢前景和背景的轮廓越清晰一般设置为1-8background_clear_size1-8背景纹理预测的连续像素个数此值越大运算越慢纹理越清晰一般设置为1-3