Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import UIKit
- import Accelerate
- class ViewController: UIViewController {
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view, typically from a nib.
- let imageForConversion = #imageLiteral(resourceName: "InputImage")
- let img: CGImage = imageForConversion.cgImage!
- let imgProvider: CGDataProvider = img.dataProvider!
- let imgBitmapData: CFData = imgProvider.data!
- var imgBuffer = vImage_Buffer(data: UnsafeMutableRawPointer(mutating: CFDataGetBytePtr(imgBitmapData)), height: vImagePixelCount(img.height), width: vImagePixelCount(img.width), rowBytes: img.bytesPerRow)
- for i in 0...img.height {
- for j in 0...img.width {
- let test = imgBuffer.data.load(fromByteOffset: (i * img.width + j) * 4, as: UInt32.self)
- let r = Float((test >> 16) & 255) / 256
- let g = Float((test >> 8) & 255) / 256
- let b = Float(test & 255) / 256
- let intensity = 0.114 * r + 0.587 * g + 0.299 * b
- print(intensity > 0.5 ? "1" : "0", terminator: "")
- }
- print("")
- }
- }
- }
Add Comment
Please, Sign In to add comment