Beispiel #1
0
def main():
    print("Podaj prawdopodobienstwo bledu (0-100): ")
    fault_prob = float(input())

    img = imread("zdjecie.png", True, 'L')  # odczyt obrazu
    bits = bsc.imageToBitArray(img)  # obraz na tablicę bitów
    bsc.saveToFile(bits, 'start.txt')  # zapis do pliku

    bits_TMR = codeTMR(bits)  # kodowanie TMR
    bits_TMR_errors = bsc.generateErrors(
        bits_TMR, fault_prob, 30)  # generowanie błędów na potrojonych bitach
    bsc.saveToFile(bits_TMR_errors,
                   'wynik.txt')  # zapis potrojonych bitów z błędami do pliku

    start_bits = bsc.readFromFile(
        'start.txt')  # odczyt prawidłowych bitów z pliku
    decoded_bits = decodeTMR(bsc.readFromFile(
        'wynik.txt'))  # odczyt i dekodowanie potrojonych bitów z błędami

    incorrect_bits_rate, incorrect_bytes_rate = bsc.countErrors(
        start_bits, decoded_bits)
    print("Procent prawidlowo przeslanych pikseli (ciag 8 bitów): %.3f%%" %
          incorrect_bytes_rate)
    print("Procent prawidlowo przeslanych bitów: %.3f%%" % incorrect_bits_rate)
    xbytes = bsc.bitsToBytes(decoded_bits)
    bsc.bytesToImg(xbytes, 'wynik.png')
Beispiel #2
0
def main():
    random.seed(30)
    sum_bits = 0
    sum_bytes = 0

    print ("Podaj prawdopodobienstwo bledu (0-100): ")
    fault_prob = float(input())

    img = cv2.imread("../zdjecie.png", 0)

    for x in range(0, 10):
        bits = bsc.imageToBitArray(img)         # konwersja na tablicę bitów
        bits_coded = bsc.hamminging(bits)           #generowanie kodu hamminga
        bits_trestle = bsc.bitArrayTrestle(bits_coded)
        bits_errors = bsc.generateErrors(bits_trestle, fault_prob)    #zapis błędów
        bits_detrestle = bsc.decodeTrestle(bits_errors)
        bits_decoded = bsc.rehamminging(bits_detrestle) #odczytywanie kodu z wykrywaniem błędów i usuwaniem bitów parzystości
        incorrect_bits_rate, incorrect_byte_rate = bsc.countErrors(bits, bits_decoded)
        sum_bits += incorrect_bits_rate
        sum_bytes += incorrect_byte_rate

    sum_bits = sum_bits / 10
    sum_bytes = sum_bytes / 10

    print("Procent prawidlowo przeslanych pikseli (ciag 8 bitów): %d / 59200" %sum_bytes)
    print("Procent prawidlowo przeslanych bitów: %d / 473600" %sum_bits)
Beispiel #3
0
def main():
    random.seed(30)
    sum_bits = 0
    sum_bytes = 0

    print("Podaj prawdopodobienstwo bledu (0-100): ")
    fault_prob = float(input())

    img = imread("../zdjecie.png", True, 'L')  # odczyt obrazu

    for x in range(0, 10):
        bits = bsc.imageToBitArray(img)  # obraz na tablicę bitów
        bits_TMR = codeTMR(bits)  # kodowanie TMR
        bits_trestle = bsc.bitArrayTrestle(bits_TMR)
        bits_TMR_errors = bsc.generateErrors(
            bits_trestle,
            fault_prob)  # generowanie błędów na potrojonych bitach
        bits_detrestle = bsc.decodeTrestle(bits_TMR_errors)
        decoded_bits = decodeTMR(
            bits_detrestle)  # odczyt i dekodowanie potrojonych bitów z błędami
        incorrect_bits_rate, incorrect_bytes_rate = bsc.countErrors(
            bits, decoded_bits)
        sum_bits += incorrect_bits_rate
        sum_bytes += incorrect_bytes_rate

    sum_bits = sum_bits / 10
    sum_bytes = sum_bytes / 10

    print("Procent prawidlowo przeslanych pikseli (ciag 8 bitów): %d / 59200" %
          sum_bytes)
    print("Procent prawidlowo przeslanych bitów: %d / 473600" % sum_bits)
Beispiel #4
0
def main():
    print("BSC (1) or PRZEPLOT (2): ")
    operation_check = int(input())
    print("Podaj prawdopodobienstwo bledu (0-100): ")
    fault_prob = float(input())

    img = cv2.imread("zdjecie.png", 0)

    bits = bsc.imageToBitArray(img)  # konwersja na tablicę bitów
    #tworzenie przeplotu dla zczytanegho ciągu bitów, jeżeli wybrano metode z przeplotem
    if (operation_check == 2):
        bits = bsc.imageToBitArrayTrestle(bits)

    bsc.saveToFile(bits, 'start.txt')  # zapis do pliku

    bits_errors = bsc.generateErrors(bits, fault_prob,
                                     30)  # generowanie błędów
    bsc.saveToFile(bits_errors, 'wynik.txt')  # zapis bitów z błędami do pliku

    # porównanie bitów bez błędów i tych z błędami
    incorrect_bits_rate, incorrect_byte_rate = bsc.countErrors(
        bsc.readFromFile('start.txt'), bsc.readFromFile('wynik.txt'))
    print("Procent prawidlowo przeslanych pikseli (ciag 8 bitów): %.3f%%" %
          incorrect_byte_rate)
    print("Procent prawidlowo przeslanych bitów: %.3f%%" % incorrect_bits_rate)

    # xbytes = bsc.bitsToBytes(bits_errors)
    #odkodowywanie przeplotu(w celu odtworzenia obrazu), jeżeli został wcześniej wykonany
    if (operation_check == 2):
        bits_errors = bsc.decodeTrestle(bits_errors)
    xbytes = bsc.bitsToBytes(bits_errors)
    bsc.bytesToImg(xbytes, 'wynik.png')
Beispiel #5
0
def main():
    print ("Podaj prawdopodobienstwo bledu (0-100): ")
    fault_prob = float(input())

    img = cv2.imread("zdjecie.png", 0)
    bits = bsc.imageToBitArray(img)         # konwersja na tablicę bitów

    result = bsc.hamminging(bits)           #generowanie kodu hamminga
    bits_errors = bsc.generateErrors(result, fault_prob, 30)    #zapis błędów

    result2 = bsc.rehamminging(bits_errors) #odczytywanie kodu z wykrywaniem błędów i usuwaniem bitów parzystości

    #wyliczanie statystyk:
    incorrect_bits_rate, incorrect_byte_rate = bsc.countErrors(bits, result2)

    print("Procent prawidlowo przeslanych pikseli (ciag 8 bitów): %.5f%%" %incorrect_byte_rate)
    print("Procent prawidlowo przeslanych bitów: %.5f%%" %incorrect_bits_rate)
    xbytes = bsc.bitsToBytes(result2)
    bsc.bytesToImg(xbytes, 'wynik.png')
Beispiel #6
0
import bsc_functions as bsc
import numpy as np
import cv2
import random

random.seed(30)

sum_bits = 0
sum_bytes = 0

print("Podaj prawdopodobienstwo bledu (0-100): ")
fault_prob = float(input())

img = cv2.imread("../zdjecie.png", 0)

for x in range(0, 10):
    bits = bsc.imageToBitArray(img)
    bits_trestled = bsc.bitArrayTrestle(bits)
    bits_errors = bsc.generateErrors(bits_trestled, fault_prob)
    bits_detrestled = bsc.decodeTrestle(bits_errors)
    incorrect_bits_rate, incorrect_byte_rate = bsc.countErrors(
        bits, bits_detrestled)
    sum_bits += incorrect_bits_rate
    sum_bytes += incorrect_byte_rate

sum_bits = sum_bits / 10
sum_bytes = sum_bytes / 10

print("Procent prawidlowo przeslanych pikseli (ciag 8 bitów): %d / 59200" %
      sum_bytes)
print("Procent prawidlowo przeslanych bitów: %d / 473600" % sum_bits)
Beispiel #7
0
from scipy.misc import imread
import bsc_functions as bsc
import numpy as np
import cv2
import random

random.seed(30)

print("Podaj prawdopodobienstwo bledu (0-100): ")
fault_prob = float(input())

sum_bits = 0
sum_bytes = 0

img = cv2.imread("../zdjecie.png", 0)

for x in range(0, 10):
    bits = bsc.imageToBitArray(img)
    bits_errors = bsc.generateErrors(bits, fault_prob)
    incorrect_bits_rate, incorrect_byte_rate = bsc.countErrors(
        bits, bits_errors)
    sum_bits += incorrect_bits_rate
    sum_bytes += incorrect_byte_rate

sum_bits = sum_bits / 10
sum_bytes = sum_bytes / 10

print("Procent prawidlowo przeslanych pikseli (ciag 8 bitów): %d / 59200" %
      sum_bytes)
print("Procent prawidlowo przeslanych bitów: %d / 473600" % sum_bits)