
图形处理
文章平均质量分 91
晚晶
正在工作
展开
-
[C++/easyx]希尔伯特曲线的指定点输出及其完整可视化
两个问题:1.如何输出希尔伯特曲线的指定经过的第p个点坐标?2.如何绘制出整个n阶的希尔伯特曲线(即可视化输出)?首先,我们来说明下什么是希尔伯特曲线。什么是希尔伯特曲线,我借用这张截图一用即可说明:我们规定左下角方格的坐标为(0,0),右下角方格的坐标为(2的n次方-1,0)。注意,以下n均指n阶希尔伯特曲线,p均指第p个点。那么我们来解决第一个问题:如何输出希尔伯特曲线的指定经过的第p个点坐标?首先我们观察这些曲线的特点,可以看见,如果把整体分成四大均匀块,那么整体来讲,一个希尔伯特图原创 2021-01-07 21:55:06 · 1575 阅读 · 5 评论 -
[Easy\C++]图像灰度化的三种方法及其示例
参考公式处:https://hacpai.com/article/1359968457263使用公式如下: Gray = (R+B+G)/3 Gray = (R*299 + G*587 + B*114 + 500) / 1000 Gray = (R^2.2 * 0.2973 + G^2.2 * 0.6274 + B^2.2 * 0.0753)^(1/2.2)这三条公式其实一开始误导了我,让我以为直接抽出RGB值后相加就是最终结果了,但很遗憾的,并不是。接下来,我会分别展示三个使用了该三种公.原创 2020-06-09 22:47:45 · 2893 阅读 · 0 评论 -
[Easyx]一个使图像根据alpha透明程度输出的函数
直入正题一般的,除了精灵图和掩码图这种间接输出人物之外,还可以通过下面的方法来直接输出人物:void putpicture(int dstx, int dsty, IMAGE *img, COLORREF color){ DWORD *imgp = GetImageBuffer(img); DWORD *bgimgp = GetImageBuffer(); int w, bw, h, i, j; w = img->getwidth(); bw = getwidth(); h = .原创 2020-05-18 23:02:18 · 2458 阅读 · 4 评论 -
个人填充图形算法之四方格式扫描[含透明化背景以输出人物]
个人图形算法:四方格式扫描[含透明化背景以输出人物]使用库:easyx语言:C++描述:功能:当当前点是要替换的颜色时候,查询周围四格是否有HIDE_COLOR这个目标色,如果有则将当前点替换成HIDE_COLOR,没有则继续下一个方法:循环往复地扫描,对于复杂程度高的图形需要反复进行扫描,一般图形,一次扫描即可完成随着扫描次数增多,再内凹曲折的不规则图形也终究会被替换干净目录...原创 2020-04-10 15:22:58 · 339 阅读 · 0 评论 -
个人填充图形算法之蔓延扫描[含透明化背景以输出人物]
个人图形算法:蔓延扫描[含透明化背景以输出人物]使用库:easyx语言:C++描述:只需一次,就能把人物外围所有在误差范围内的颜色换成HIDE_COLOR目标色的算法,不会有外部间隙没清理到。使用该算法前应该具有的前置代码:#define HIDE_COLOR 0xFF555555//设置目标颜色struct color_group{//先建立一个用来存储颜色的结构体 BYTE ...原创 2020-04-10 13:58:20 · 260 阅读 · 0 评论 -
个人填充图形算法之直线扫描[含透明化背景以输出人物]
个人图形算法:直线扫描[含透明化背景以输出人物]使用库:easyx语言:C++作用:对某个IMAGE对象的存储的图形进行分别从上下左右开始直线扫描的像素点识别,如果是要被替换的颜色,或者在与替换颜色相似,则都会被替换成目标颜色HIDE_COLOR(一个常量)使用该算法前应该具有的前置代码:#define HIDE_COLOR 0xFF555555//设置目标颜色struct col...原创 2020-04-10 13:34:04 · 181 阅读 · 0 评论 -
个人填充图形算法之逐点扫描[含透明化背景以输出人物]
个人图形算法:逐点扫描[含透明化背景以输出人物]使用库:easyx语言:C++作用:对某个IMAGE对象的存储的图形进行一行行的自左到右的像素点识别,如果是要被替换的颜色,或者在与替换颜色相似,则都会被替换成目标颜色HIDE_COLOR(一个常量)使用该算法前应该具有的前置代码:#define HIDE_COLOR 0xFF555555//设置目标颜色struct color_gr...原创 2020-04-10 12:37:17 · 407 阅读 · 0 评论