Şimdi Ara

Kitabımdaki görseller kitabımın yüzde kaçı?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
257
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Kitabımdaki görseller kitabımın yüzde kaçı? bunu nasıl görebilir anlayabilirim 430 sayfa 2010 resim var ama bazısı kucuk bazısı buyuk ve bana oran lazım :(




  • Ocr programıyla kitabı taratıp word'de çevir, bu dosyaya a.docx ismini ver, dosyayı farklı kaydet deyip düz metin olarak a.txt oluştur. a.txt dosyasını notepad ile aç içindekileri kopyalayıp wordde boş bir sayfaya yapıştırıp kaydet b.docx olsun. Dosya tarayıcısı ile a.docx ve b.docx dosyalarının kaçar bayt yer tuttuğuna bak, a.docx dosyası a baytlık ve b.docx dosyası b baytlık ise, yaklaşık olarak kitabındaki resimler tüm kitabın yüzde 100*(a-b)/a kadardır demek olur.

  • +ya da kitabının döküman olarak taranmış dosyası elindeyse at buluta, linkini yapay zekaya verip ona sor hesaplasın, tabi dosya okuma özelliği için sanırım ücretli üyelik isteyebilir.

  • şöyle bir mantık kurarsın ancak gerçekte hatalı olur dosyadaki tüm sayfaları jpge çevirirsin bir script resimlerdeki beyaz renkleri sayar sayfa toplam pixele oranlar mesela 1. sayfada %25 beyaz renk çıktı demekki sayfanın %25 i boş kalanı dolu aynı şekilde diğer sayfaları da yapıp toplam oranı bulursun


    aşağıda power shell ile bi kod yazdım sadece resimlerin olduğu klasörü göster bu işlem uzun ve resim ebatına göre uzun sürer önce bikaç resimle test edersin


    function CountPureWhitePixels($imagePath) {

      $bmp = [System.Drawing.Bitmap]::FromFile($imagePath)

      $totalPixels = $bmp.Width * $bmp.Height

      $pureWhiteCount = 0


      $rect = New-Object System.Drawing.Rectangle 0, 0, $bmp.Width, $bmp.Height

      $bmpData = $bmp.LockBits($rect, [System.Drawing.Imaging.ImageLockMode]::ReadOnly, $bmp.PixelFormat)

      $stride = $bmpData.Stride

      $scan0 = $bmpData.Scan0


      $pixelSize = [System.Drawing.Image]::GetPixelFormatSize($bmp.PixelFormat) / 8

      $buffer = New-Object Byte[] ($stride * $bmp.Height)


      [System.Runtime.InteropServices.Marshal]::Copy($scan0, $buffer, 0, $buffer.Length)


      for ($i = 0; $i -lt $buffer.Length; $i += $pixelSize) {

        $blue = $buffer[$i]

        $green = $buffer[$i + 1]

        $red = $buffer[$i + 2]

        $alpha = $buffer[$i + 3]


        # Check for pure white (255, 255, 255, 255 for ARGB)

        if ($alpha -eq 255 -and $red -eq 255 -and $green -eq 255 -and $blue -eq 255) {

          $pureWhiteCount++

        }

      }


      $bmp.UnlockBits($bmpData)

      $bmp.Dispose()

      $total=0

      $result = @{

        "Beyaz Piksel Sayısı" = $pureWhiteCount

        "Toplam Pixel Sayısı" = $totalPixels

        "Beyaz Pixel Oranı"= ($pureWhiteCount/$totalPixels)*100

        "Toplam Pixel Oranı"=$total+($pureWhiteCount/$totalPixels)*100

      }

      return $result

    }


    $imageDirectory = "C:\Users\goksen\Desktop\Yeni klasör"

    $imageFiles = Get-ChildItem -Path $imageDirectory -Filter *.jpg

    $totalpage=0

    $results = @()

    foreach ($imageFile in $imageFiles) {

      $result = CountPureWhitePixels($imageFile.FullName)

      $totalpage= $totalpage+  $result.'Toplam Pixel Oranı'

      

    }


    $ToplamOran= $totalpage / $imageFiles.Count

    Write-Host "Toplam Beyaz Oranı:" $ToplamOran





  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.