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')
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)
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)
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')
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')
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)
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)