抖音上见美女照片转ASCII码很好玩,用C++ OpenCV做一个
不多说,直接上代码和效果
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <string>
#include <fstream>
using namespace cv;
using namespace std;
char ascii_char[70] = "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ";
float unit= (256.0 + 1)/69;
int main()
{
Mat srcImage=imread("test.jpg",0);
Mat resizeImage;
string txt;
resize(srcImage,resizeImage,Size(100,62));
int rowNumber=resizeImage.rows;//行数
int colNumber=resizeImage.cols;//列数
for(int i=0;i<rowNumber;i++)//行循环
{
for(int j=0;j<colNumber;j++)//列循环
{
txt+=ascii_char[int((resizeImage.at<uchar>(i,j))/unit)];
}
txt+='\n';
}
//写入txt
ofstream file;
file.open("file.txt");
if(file.is_open())
{
file<<txt;
}
file.close();
return 0;
}