zoukankan      html  css  js  c++  java
  • 10钢笔画

    一、实战原理

    钢笔画又称铅笔画。

    8bit代表的灰度值0~255,代表着从黑到白。这里提取出Ycbcr格式的图像中的Y分量,从而可以得到一张灰度图像。这个Y分量的值与我们设置的阈值(通过按键切换阈值)比较,从而输出全1或全0的图像,这个图像就是钢笔画。

    二、matlab实现

    阈值设置是100。

    %--------------------------------------------------------------------------
    %                         钢笔画
    %--------------------------------------------------------------------------
    clc;
    clear all;
    RGB = imread('G:	est10 Pen drawingimage.jpg'); %读取图像
    gray = rgb2gray(RGB);      %灰度图
    
    [ROW,COL,N] = size(gray);  %获得图像尺寸[高度,长度,维度]
    pen = zeros(ROW,COL);
    value = 80;
    
    for i = 1:ROW
        for j = 1:COL
            pen(i,j) = gray(i,j);
            if gray(i,j) > value
                pen(i,j) = 255;
            else
                pen(i,j) = 0;
            end
        end
    end
    
    subplot(2,1,1);imshow(gray);  title('Y分量灰度图');
    subplot(2,1,2);imshow(pen);title('钢笔画');
    View Code

    matlab效果:

    三、fpga实现

    这里就是将Y分量的值与我们设置的阈值进行比较。

    这里设置两个按键,一个按键让阈值加10,一个按键让阈值减10。

     

     fpga效果:

    按道理来说,阈值为0时,画面应该是全白的,而且这里阈值为80时,画面就等于matlab阈值100。可能的导致原因是提取Y分量的同步信号不对。

  • 相关阅读:
    .NET之API版本控制
    接口管理平台YApi
    .NET之WebAPI
    Hyperv安装Centos7
    nginx添加https模块
    基于centos8镜像,打包php的docker镜像
    jmeter生成HTML性能测试报告(转载)
    jmeter相关(转载)
    接口测试总结(转载)
    【解决了一个小问题】alert manager中的cluster.advertiseaddress参数是什么意思?
  • 原文地址:https://www.cnblogs.com/FPGAer/p/14111811.html
Copyright © 2011-2022 走看看