Thông báo

Collapse
No announcement yet.

hỏi về xuất kí tự trong matlab

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • hỏi về xuất kí tự trong matlab

    mọi người cho mình hỏi khi xuất kí tự từ mã ASCII thì bị lỗi kí tự như thế này là sao vậy

    [/URL]

    Code:
     s = imread('c.bmp');
        height = size(s,1);
        width = size(s,2);
        %For this example the max size is 100 bytes, or 800 bits, (bytes * = bits
        m = 800;
        k = 1;
        for i = 1 : height
            for j = 1 : width
                if (k <= m)
                    b(k) = mod(double(s(i,j)),2);
                    k = k + 1;
                end
            end
        end
        binaryVector = b;
        binValues = [ 128 64 32 16 8 4 2 1 ];
        binaryVector = binaryVector(:);
        if mod(length(binaryVector),8) ~= 0
            error('Length of binary vector must be a multiple of 8.');
        end
        binMatrix = reshape(binaryVector,8,100);
        display(binMatrix);
        textString = char(binValues*binMatrix); 
        disp(textString);

  • #2
    mod ơi giúp em với, đuối rồi

    Comment


    • #3
      bác disp cái giá trị binValues*binMatrix xem coi nó thế nào.
      mà bác muốn làm gì nói để biết mà giúp nữa

      Comment


      • #4
        à mình đang làm đề tài giấu tin trong ảnh
        đây là code đầu vào, ở trên là code đầu ra
        Code:
        %reads a image into a matrix 'c'
        %must be in freemat start folder
        c = imread('C:\Users\Administrator\Documents\MATLAB\a.JPG');
        
        %Enter Message
        message = '12345';
        message = strtrim(message); %trim extra 0's
        
        %m is the length of the message in bits
        m = length(message) * 8;
        
        %Convert Message to binary vector
        AsciiCode = uint8(message); %Message in Ascii int form
        binaryString = transpose(dec2bin(AsciiCode,8));
        binaryString = binaryString(:);
        
        N = length(binaryString);
        b = zeros(N,1); %b is a vector of bits
        
        for k = 1:N
        if(binaryString(k) == '1')
        b(k) = 1;
        else
        b(k) = 0;
        end
        end
        
        %Set Up for LSB
        s = c;
        height = size(c,1);
        width = size(c,2);
        
        %LSB Algorithm
        %This goes to each byte, if the least significant bit is not the bit of the message position, flip it, else do nothing
        k = 1;
        for i = 1 : height
        for j = 1 : width
        LSB = mod(double(c(i,j)), 2);
        if (k>m || LSB == b(k))
        s(i,j) = c(i,j);
        else
        if(LSB == 1)
        s(i,j) = c(i,j) - 1;
        else
        s(i,j) = c(i,j) + 1;
        end
        k = k + 1;
        end
        end
        
        %Write image
        imwrite(s, 'c.bmp');
        end

        Comment


        • #5
          Nguyên văn bởi ngoctuct Xem bài viết
          bác disp cái giá trị binValues*binMatrix xem coi nó thế nào.
          mà bác muốn làm gì nói để biết mà giúp nữa
          disp (binValues*binMatrix) thì nó chỉ ra toàn giá trị của ASCII bác ơi

          Comment


          • #6
            Steganography Matlab Code « Something More for Research

            Comment


            • #7
              Implementation of steganographic techniques in matlab: Project Report | Ajay Nain - Academia.edu

              lâu rồi ko đụng đến mấy cái lập trình này. theo mình đọc sơ ớ thì nó phụ thuộc vào loại ảnh mà bạn muốn dấu nữa. bạn nên nghiên cứu lại phần giải thuật

              Comment

              Về tác giả

              Collapse

              likun Tìm hiểu thêm về likun

              Bài viết mới nhất

              Collapse

              Đang tải...
              X