def decode(): # if receive a carrier, it's been encoded already carrier_img = to_img(request, 'encoded_img') steg = lsbrick(carrier_img, 16) try: orig_img = steg.decode_image() res_file = cv2.imwrite("original.png", orig_img) if (res_file == False): raise ValueError('Failed to decode image. Please try again') dir_path = os.path.dirname(os.path.realpath(__file__)) return send_file(filename_or_fp=dir_path + "/original.png", mimetype="image/gif", as_attachment=True) except ValueError as e: response = {'err': str(e)} response_pickled = jsonify(response) return Response(json.dumps(response), mimetype=u'application/json')
def encode(): pic = to_img(request, 'picture') carrier_img = cv2.imread( os.path.join(app.config['UPLOAD_FOLDER'], "carrier.png")) steg = lsbrick(carrier_img, 16) try: res = steg.encode_image(pic) res_file = cv2.imwrite("result.png", res) if (res_file == False): raise ValueError('Failed to convert image. Please try again') dir_path = os.path.dirname(os.path.realpath(__file__)) app.logger.info(res) return send_file(filename_or_fp=dir_path + "/result.png", mimetype="image/gif", as_attachment=True) except ValueError as e: response = {'err': str(e)} response_pickled = jsonify(response) return Response(json.dumps(response), mimetype=u'application/json')
def t_decode(): # if receive a carrier, it's been encoded already carrier_img = to_img(request, 'encoded_img') steg = lsbrick(carrier_img, 16) try: orig_text = steg.decode_text() print(orig_text) res_file = open('decoded_text.txt', "w+") res_file.write(orig_text) if (not res_file): raise ValueError('Failed to decode image. Please try again') dir_path = os.path.dirname(os.path.realpath(__file__)) return send_file(filename_or_fp=dir_path + "/decoded_text.txt", mimetype="text/*", as_attachment=True) except ValueError as e: response = {'err': str(e)} response_pickled = jsonify(response) return Response(json.dumps(response), mimetype=u'application/json')
import cv2 from kubrick import lsbrick # TEXT ENCODING/DECODING TESTING encoding steg_obj = lsbrick(cv2.imread("bryan_michael.png"), 16) img_encoded = steg_obj.encode_text("hi how are you?") cv2.imwrite("new_img.png", img_encoded) #decoding im = cv2.imread("new_img.png") steg_obj2 = lsbrick(im, 16) print(steg_obj2.decode_text()) # BINARY FILE ENCODING/DECODING TESTING #encoding steg = lsbrick(cv2.imread("bryan_michael.png"), 16) data = open("my_data.bin", "rb").read() new_img = steg.encode_binary(data) cv2.imwrite("new_image.png", new_img) #decoding steg = lsbrick(cv2.imread("new_image.png"), 16) binary = steg.decode_binary() with open("recovered.bin", "wb") as f: f.write(data) # IMAGE FILE ENCODING/DECODING TESTING
def store_carrier(request): carrier_img = to_img(request, 'carrier') steg = lsbrick(carrier_img, 16) return steg