源码:
#include <iostream>
#include <fstream>
#include <vector>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main()
{
int i,j;
unsigned char d[4] = {'@','#','$',' '};
Mat img = imread("d.jpg", 0);
cout << "图片转字符程序" << endl;
cout << "按任意键显示图片" << endl;
int s[400][400];
for (i = 0; i< img.rows; i++)
for (j = 0; j< img.cols;j++)
s[i][j]= img.at<unsigned char>(i,j);
if(cin.get())
{
namedWindow("图片转字符");
imshow("图片转字符", img);
waitKey(0);
}
for(i = 0; i < img.rows; i++)
{
vector<char> q;
for (j = 0; j < img.cols; j++)
{
if (s[i][j] <= 50) {
cout << d[0];
q.push_back(d[0]);
}
if (s[i][j] > 50 && s[i][j] <= 100) {
cout << d[1];
q.push_back(d[1]);
}
if (s[i][j] > 100 && s[i][j] <= 150) {
cout << d[2];
q.push_back(d[2]);
}
else {
cout << d[3];
q.push_back(d[3]);
}
}
cout <<"\n";
ofstream out;
out.open("D:\\2.txt",ofstream::app);
for (auto c : q)
out << c;
out << endl;
}
system("pause");
return 0;
}
环境:
vs2015+opencv3
@ #
$ $@ #
@ $@ $ $# @ @ @ @ @ #
@ @ @ # @ @ @ @ @ #
# # @ # @ @ @ @ @ @ $
@ @ @ @ @ # @ @ @ @ @ @ #
$@ # @ @ @ @ $ @ @ @ @ @ @ @ $
@ @ $ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ $@ @ @ @ @ @ @ @ @ @ @ @ $
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ #
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ # $
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
$@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ # $@
$@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ #
$@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $
# @ @ @ @ @ @ @ @ # @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ #
$@ @ @ @ @ @ @ @ @ @ @ # @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
# @ @ @ @ @ @ @ @ @ @ @ @ @ $ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
# @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $# @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ # $# @ @ # $
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $@ @ @ @ # @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ #
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $ # @ @ @ @ @ @ @ @ # @ @ @ @ @ $@ @ @ @ @ @ @ # # @ @ @ @ @ @ @ @ @ @ @ @ $
# @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $ @ @ # $@ @ $@ @ @ $ # @ @ @ @ @ # # @ @ @ @ @ @ @ @ @ @ @ @ @ @ #
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $ @ @ $ @ @ $# @ $@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ # # @ @ @ # @ # @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
$@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $ $@ $ @ # $ @ @ @ @ @