基于OPENCV的字符表情的制作

这是一个简单有趣的小程序(其实笔者很早就像实现一下)基于opencv的字符表情制作,这里主要的思路是:

  1. 将图片进行一定的调整大小,由于用txt中单个字符比较大大约一行只能打大约一百169个字符,所以图像的列数不能超过169(为了更好地感受到视觉效果,建议在添加图片之前将图片进行裁剪);
  2. 将图像进行转换由RGB的彩图转换为GRAY的灰度图;
  3. 将灰度图用threshold函数进行二值转换;
  4. 创建并打开一个.txt文件
  5. 对二值图片进行遍历当二值图片中的像素为空是”“,在文件中写入空格,否则写入”#“(当然也可以是别的字符);
  6. 关闭txt
    其中threshold共有需5个变量分别为原图像,转换后保存的图像,过滤掉最大以及最小阈值的值,以及阈值类型:CV_THRESH_BINARY 和 CV_THRESH_BINARY_INV
#include<opencv2\highgui\highgui.hpp>
#include<opencv.hpp>
#include<iostream>
#include<cv.h>
#include<stdio.h>
#include<stdlib.h>

using namespace cv;
using namespace std;

int main()
{
    Mat src;
    src = imread("1.jpg");
    Mat temp = Mat::zeros(100, 100, CV_8UC3);
    resize(src, temp, temp.size());
    Mat dst;
    cvtColor(temp, dst, CV_RGB2GRAY);
    Mat two;
    threshold(dst, two, 100, 255, CV_THRESH_BINARY);
    imshow("two", two);
    int u = two.rows;
    int v = two.cols;
    FILE* fp;
    fp=fopen("1.txt", "w");
    for (int i = 0; i < two.rows; i++)
    {
        for (int j = 0; j < two.cols; j++)
        {

            if (two.at<char>(i, j) == -1)
                fprintf(fp, " ");
            else
                fprintf(fp, "#");
        }
        fprintf(fp, "\n");
    }

    fclose(fp);
    waitKey();

}

下面是测试的图片及效果:
这里写图片描述










                                                                                    ### 
                                                                               ######## 
                                                                             # ####### 
                                                                               ###### 
                                                        ## ###### # ###### 
                                                        # #### ###### 
                                                        # # ##### 
                                                        # ## ### 
                                                                 # #### 
                                                         # # ## ## 
                                                         # ## # ## 
                  # # # ## # # 
              ##### ### ## 
            ####### # ## 
           ######### ## 
            ######## # # 
              ####### ### 
                ###### ### 
                  ##### ## 
                     ### # # # 
                         # # ### # # 
                         # # ## # # # 
                            # ### # # ## # # 
                       # # # ###### # ## # # 
                      # # #### # ## # 
                      # # ##### # # 
                      # # ### ### # 
                                # ## ## # 
                                ##### # ## # # 
                                ###### #### ### # # 
                               ####### ######### # # # 
                               ######## #### #### ###### # # # 
                               ######## ## ### ####### # # 
                               ######## # # ####### # # 
                               ####### # ####### # 
                                ###### # # ######## # 
                        # #### # # ####### # 
                        # # # # ####### # 
                                 # # # ######## # 
                         # # # # #### ## 
                         # ## # 
                          # # # # 
                          # # # 
                           # 
                           # 
                            # 
                                                                               # 
                             # # 
                              # # 
                              # # # 
                                                                # # 
                              # ## 
                              # ##### 
                              # #### 
                              # #### 
                             # ### 
                             # ### 
                             # ## 
                             # # 
                             # 
                            # # 
                            # # 
                            # # 
                            # 
                            # # 
                            # # 
                                                                   # 
                                                                   # 
                           # # 
                           # # 
                           # # 
                                                                    # 
                            # # 
                            # # 
                            # # 
                            # # 
                             # # 
                              # # # 
                              # ### # # 
                             # ## ## # 
                            # ## # 
                            ### ## # 
                            ## # 








这里写图片描述











 # # # ########  # # ##### ##############  ## ### ######### ################  #################### ###################  ############## ######################  ##################### ######################  ######################## ########################  ########################## ##########################  # ######################### ##########################  ########################## ###########################  ############################ ###########################  ############################ #############################  ############################## #############################  ############################# #############################  ############################## #############################  ############################## ##############################  ############################ ####### #####################  ############################## ######## ####################  ############################## ####### ##################  ############################## ####### ########### ####  ################### ########## ####### ######## ####  ############################## ####### #### ####  ######## ####### # # ###### ####### ###  ####### # ###### ########### ######## ###  ########## # #### # ## #### ####### # ###  ####### ## # #### #### #### ####### # ###  # ### ## #### ## ### #### ###### # # ##  ### # # # # # ## # #### # ##  ### ## ### ### ### # ##  # # # ### # ## # ## ###  # ## ### # # ## ## # ###  ## # # # ### # # ## #  # ## # ### ## #  # # # # # # ##  # # ## # # #  # # ## # # #  # ## ### # # # # #  #### #### # ## # #  ## ### ###### #  ## ## ###### # #  ##### ### ######## #  # #### #### ######### #  # ### ## ###### ########## ##  ####### ####### # ########### # #  ########## ###### ### ############ ## ###  ## ############ ##### ### # ############# ####  # #### ####### ######### ## ############## #####  ###################### ### # ########### ##### #########  # ##################### #### # ### ############################  # ########### ####### ### # ### ################ ###### ###  # #################### #### #### ####################### ### #  # ################### ### # #### ####################### ### #  # #### ################### # #### ####################### ### #  # ## # ################## #### ##########################  ### # ############### #### ###########################  ## ################# ### ####### ############### ##  ### # ################ # # ### ##### ############ # #  ## ############# ### ## # ### ### ########### # ###  #### #### ###### ##### ### #### #### ############ ###  #################### ####### ### # #### ###### ########## #####  # ###### ####################### #### ######## ########## ####  ## ####### ###################### #### ################### ####  # ### ######################### ### ################## #########  # ### ######################### #################################  # ######################## ###############################  # ## ############ ######## ################################  ## ## ###### ############# ################################  #### ## ###### ############# ################################  #### ### ################# ## ############################## #  ###### ### #################### ############################## #  ###### ##################### ### ########################### #  ###################### ######### ########################## # #  ###################### ######## ######################### # #  ################# ### ####### ######################## #  ####### ##### #### ##### ######################### #  # ########## ## ############ ###############  ######### # # ############ ####### ####  ## # # # # ######### #####  # ## # ##### #############  ### ##### ####### # #########  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值