コード例 #1
0
    def updateCompressionTextBox(self):
        self.payload1 = Steganography.Payload(
            img=self.pay1Img, compressionLevel=self.compressionLevelVal)
        self.payloadSizeVal = len(self.payload1.content)
        self.txtPayloadSize.setText(str(self.payloadSizeVal))

        self.checkSaveBtnConds()
コード例 #2
0
 def sliderReleased(self):
     img = S.imageToArray(self.P1fname)
     payload = S.Payload(
         rawData=img,
         compressionLevel=self.slideCompression.sliderPosition())
     self.txtPayloadSize.setText(str(len(payload.json)))
     self.checkEmbedEnabled()
コード例 #3
0
 def newImage(self):
     try:
         payload = Steganography.Payload(self.viewPayload1.imageArray,
                                         self.compression, None)
         self.txtPayloadSize.setText("{0}".format(len(payload.xml)))
     except ValueError:
         self.txtPayloadSize.setText("0")
コード例 #4
0
 def newpayload(self):
     self.pay_img = self.viewPayload1.imgArr
     self.payload = Steganography.Payload(self.pay_img, self.compression)
     self.payloadsize = len(self.payload.xml)
     self.txtPayloadSize.setText(str(self.payloadsize))
     self.payloadsize *= 8
     if ((self.chkOverride.isChecked() or
          (self.carr and self.carr.payloadExists() == False)) and
         (self.payloadsize > 0 and self.payloadsize < self.carriersize)):
         self.btnSave.setEnabled(True)
     else:
         self.btnSave.setEnabled(False)
コード例 #5
0
    def embed(self):

        aa = Steganography.Carrier(self.carrier_array)
        bb = Steganography.Payload(self.payload_array,compressionLevel=self.compression)
        final_img = aa.embedPayload(bb,override=True)


        filePath, _ = QFileDialog.getSaveFileName(self, caption='Save Image ...', filter="PNG files (*.png)")

        if not filePath:
            return

        scipy.misc.imsave(filePath+'.png',final_img)
コード例 #6
0
 def compressionChecked(self):
     if self.chkApplyCompression.isChecked():
         self.lblLevel.setEnabled(True)
         self.slideCompression.setEnabled(True)
         self.txtCompression.setEnabled(True)
         self.sliderReleased()
     else:
         self.lblLevel.setEnabled(False)
         self.slideCompression.setEnabled(False)
         self.txtCompression.setEnabled(False)
         img = S.imageToArray(self.P1fname)
         payload = S.Payload(rawData=img)
         self.txtPayloadSize.setText(str(len(payload.json)))
     self.checkEmbedEnabled()
コード例 #7
0
 def updatecompress(self):
     self.txtCompression.setText(str(self.slideCompression.value()))
     if self.compression > -1:
         self.compression = self.slideCompression.value()
     self.payload = Steganography.Payload(self.pay_img, self.compression)
     self.payloadsize = len(self.payload.xml)
     self.txtPayloadSize.setText(str(self.payloadsize))
     self.payloadsize *= 8
     if ((self.chkOverride.isChecked() or
          (self.carr and self.carr.payloadExists() == False)) and
         (self.payloadsize > 0 and self.payloadsize < self.carriersize)):
         self.btnSave.setEnabled(True)
     else:
         self.btnSave.setEnabled(False)
コード例 #8
0
 def viewPayload1DropEvent(self, event):
     if event.mimeData().hasUrls:
         event.setDropAction(Qt.CopyAction)
         for url in event.mimeData().urls():
             fname = str(url.toLocalFile())
         if fname and fname.endswith(".png"):
             self.P1fname = fname
             try:
                 img = S.imageToArray(self.P1fname)
                 self.payload1 = S.Payload(rawData=img)
                 size = len(self.payload1.json)
                 self.viewPayload1LoadImage()
                 self.txtPayloadSize.setText(str(size))
                 self.chkApplyCompression.setCheckState(Qt.Unchecked)
                 self.lblLevel.setEnabled(False)
                 self.slideCompression.setEnabled(False)
                 self.txtCompression.setEnabled(False)
                 self.slideCompression.setValue(0)
                 self.txtCompression.setText('0')
                 self.checkEmbedEnabled()
             except ValueError:
                 event.ignore()
         else:
             event.ignore()
コード例 #9
0
    def set_diplays(self, view, filePath):

        if view == self.viewPayload1:
            if self.flag == 0:
                self.displayImage(view, filePath)
                self.chkApplyCompression.setChecked(False)
                self.slideCompression.setSliderPosition(0)
                self.slideCompression.setEnabled(False)

                img_array = scipy.misc.imread(filePath)
                a = Steganography.Payload(img = img_array)
                size = len(a.xml)
                size_1 = str(size)
                self.txtPayloadSize.setText(size_1)
                self.chkApplyCompression.setDisabled(False)
                self.flag = 1
                self.flag_payload = 1
                self.size_payload = size
                self.payload_array = img_array

            else:
                img_array = scipy.misc.imread(filePath)
                a = Steganography.Payload(img = img_array, compressionLevel= self.compression)
                size = len(a.xml)
                size_1 = str(size)
                self.payload_array = img_array
                self.size_payload = size
                self.txtPayloadSize.setText(size_1)

        elif view == self.viewCarrier1:

            self.displayImage(view,filePath)
            img_array = scipy.misc.imread(filePath)

            size = img_array.size/8
            size_1 = str(size)
            self.txtCarrierSize.setText(size_1)

            aa = Steganography.Carrier(img_array)
            if aa.payloadExists():
                self.lblPayloadFound.setText(">>>>Payload Found <<<<")
                self.chkOverride.setEnabled(True)
            else:
                self.lblPayloadFound.setText("")
                self.chkOverride.setEnabled(False)

            self.flag_carrier = 1
            self.size_carrier = size
            self.carrier_array = img_array

        elif view == self.viewCarrier2:

            self.displayImage(view,filePath)
            img_array = scipy.misc.imread(filePath)
            self.carrier2_array = img_array

            a = Steganography.Carrier(img_array)

            if not(a.payloadExists()):
                self.lblCarrierEmpty.setText(">>>>Carrier Empty<<<<")
                self.btnExtract.setEnabled(False)
                self.btnClean.setEnabled(False)
            else:
                self.lblCarrierEmpty.setText("")
                self.btnExtract.setEnabled(True)
                self.btnClean.setEnabled(True)