C++ & Opencv 实现图片转字符输出

源码:
#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


                                                       @ #                                                                                  
                                                          $      $@ #                                                                                   
                                                          @      $@ $       $# @ @ @ @ @ #                                                                     
                                                         @       @ @       # @ @ @ @ @ #                                                                        
                                                        #       # @ #     @ @ @ @ @ @ $                                                                         
                                                       @ @      @ @ @   # @ @ @ @ @ @ #                                                                            
                                                      $@ #   @  @ @ @ $ @ @ @ @ @ @ @ $                                                                            
                                                      @ @ $ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                                               
                                                      @ @  $@ @ @ @ @ @ @ @ @ @ @ @ $                                                                               
                                                      @ @  @ @ @ @ @ @ @ @ @ @ @ @ @    @ @ @ @ @ #                                                                        
                                                     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ # $                                                                   
                                                     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                                    
                                                     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                                   
                                                    $@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ #        $@                                                                   
                                                    $@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ #                                                                            
                                                    $@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $                                                                         
                             # @ @ @ @ @ @ @ @ #               @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ #                                                                         
                            $@ @ @ @ @ @ @ @ @ @ @ #             @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                                         
                           # @ @ @ @ @ @ @ @ @ @ @ @ @ $           @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                                         
                          # @ @ @ @ @ @ @ @ @ @ @ @ @ @ @        $# @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ #            $# @ @ # $                                                      
                          @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @    $@ @ @ @ #    @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @          @ @ @ @ @ @ @ @ @ #                                                     
                         @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $         # @ @ @ @ @ @ @ @ # @ @ @ @ @ $@ @ @ @ @ @ @ #      # @ @ @ @ @ @ @ @ @ @ @ @ $                                                  
                        # @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $             @ @ #  $@ @   $@ @ @ $ # @ @ @ @   @ #   # @ @ @ @ @ @ @ @ @ @ @ @ @ @ #                                                  
                        @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $               @ @ $  @ @    $# @   $@ @ @    @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                  
                        @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ #                 # @ @    @ #     @    # @ @     @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @                                                 
                       $@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $                  $@ $   @      #     $      @ @ @ @ @ 
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值