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分量的同步信号不对。

原文地址:https://www.cnblogs.com/FPGAer/p/14111811.html