关于
本项目是本科时期数字图像处理课程关于颜色量化算法的一种实现,可以将 24 位真彩色量化为 256 色。
项目地址 [ archived ]: https://github.com/Ohto-Ai/Color-Quantization
(Github Readme 中的转换后图像可能显示为黑图,需要下载后查看)
代码存在一些转换错误,如测试样本中的 color3,转换后出现三到四条违和的色条。
注意:代码不再维护
使用
ColorCube::loadImage(源图像);
ColorCube::splitCube();
ColorCube::write8bIndexBmp(目标文件名);
原始图像
量化后图像
猪圈密码(Pigpen cipher),亦称共济会密码(英语:masonic cipher)或 共济会员密码(英语:Freemason's cipher),是一种以格子为基础的简单替代式密码。即使使用符号,也不会影响密码分析,亦可用在其它替代式的方法。
(Hello EasyX)
以下是使用EasyX绘制猪圈密码的一种方式。
#include <graphics.h>
#include <string>
namespace thatboy
{
namespace Pigpen
{
enum : UINT
{
PIG_NULL = 0
, LINE_LEFT = 0X0001 // │
, LINE_TOP = 0X0002 // ─
, LINE_RIGHT = 0X0004 // │
, LINE_BOTTON = 0X0008 // ─
, ARROW_RIGHT = 0X0010 //
...
FlipGame,又名点灯游戏,是一个十分有趣的智力游戏:有一行 N 行 N 列的灯,开始时全部是灭的,当你点击其中一盏灯时他的上下左右(若存在的话)状态全部改变,现在要求你以最少地步数,将全部的灯点亮。
此处使用了 8 x 8 的方格,其亮灭状态使用一个 8 字节变量按位记录,点亮状态使用了图片作为背景。
执行效果如下:
项目使用 VS2017 编译,图片内嵌到了资源文件中,并设置了应用图标。
Git项目地址:https://github.com/thatboy-zero/FlipGame8x8https://raw.githubusercontent.com/thatboy-zero/FlipGame8x8/master/FlipGame8x8%5B12-28%5D.zip
受到生命游戏启发,想到了这个兰顿蚂蚁,都是零玩家游戏。
在平面上的正方形格被填上黑色或白色。在其中一格正方形有一只“蚂蚁”,它的头部朝向上下左右其中一方。
若蚂蚁在白格,右转90度,将该格改为黑格,向前移一步;
若蚂蚁在黑格,左转90度,将该格改为白格,向前移一步。
以上就是兰顿蚂蚁的简单规则描述。更详细的请参考维基百科。
执行效果如下:
完整的源代码如下:
/******************************
* 兰顿蚂蚁
* 编译环境:VC++ 2017
* 作者:that boy,2018/12/19
* 最后修改:2018/12/21
******************************/
#include <EasyX.h>
#include <string>
#include <conio.h>
namespace LangtonAn
...