Hi,
When using VNFeaturePrintObservation and then computing the distance using two images, the values that it returns varies heavily. When two identical images (same image file) is inputted into function (below) that I have used to compare the images, the distance does not return 0 while it is expected to, since they are identical images.
Also, what is the upper limit of computeDistance? I am trying to find the percentage similarity between the two images. (Of course, this cannot be done unless the issue above is resolved).
Code that I have used is below
func featureprintObservationForImage(image: UIImage) -> VNFeaturePrintObservation? {
let requestHandler = VNImageRequestHandler(cgImage: image.cgImage!, options: [:])
let request = VNGenerateImageFeaturePrintRequest()
request.usesCPUOnly = true // Simulator Testing
do {
try requestHandler.perform([request])
return request.results?.first as? VNFeaturePrintObservation
} catch {
print("Vision Error: \(error)")
return nil
}
}
func compare(origImg: UIImage, drawnImg: UIImage) -> Float? {
let oImgObservation = featureprintObservationForImage(image: origImg)
let dImgObservation = featureprintObservationForImage(image: drawnImg)
if let oImgObservation = oImgObservation {
if let dImgObservation = dImgObservation {
var distance: Float = -1
do {
try oImgObservation.computeDistance(&distance, to: dImgObservation)
} catch {
fatalError("Failed to Compute Distance")
}
if distance == -1 {
return nil
} else {
return distance
}
} else {
print("Drawn Image Observation found Nil")
}
} else {
print("Original Image Observation found Nil")
}
return nil
}
Thanks for all the help!
Post
Replies
Boosts
Views
Activity
Hi,
I have added an audio asset into my .swiftpm file in a folder called “Audios”, and have tried getting it by the following methods
Bundle.main.url(forResource: "Completed", withExtension: "mp3")
Bundle.main.url(forResource: "Completed", withExtension: "mp3", subdirectory: "AppData")
However, it still returns nil for both methods. I have also tried deleting and adding the file back but to no avail.
I would greatly appreciate any help! Thanks.
Hi,
I was wondering if there is a way I can lock the orientation of a Swift Playgrounds App Project (.swiftpm) to portrait. As there is no info.plist that I can edit the setting in.
Thanks!
After updating to the latest beta of MacOS Big Sur (Public Beta), my Mac entered a boot loop. When First Aiding my Main Apple SSD, an error “snapshot fsroot tree corruptions are not repaired they will go away when the snapshot are deleted.”
There was also an error, "Cross Check: Mismatch between extent ref entry reference count (1) and calculated fsroot entry reference count (0) for extent (0x1930163 + 1)"
Many orphan files were found too. After first aid has completed, the First Aid restored to the original state.
Hi everyone, I was trying to make a widget for my app, however it did not work, and I have decided to delete the widget product. However, when I right click on the product itself, the delete button is grayed out.
Anyone has any ideas on how to properly delete it?
For the UISwipeGestureRecognizer, when I use direction = .left, it works.
However, when I use direction = .right, it does not work
// swipeGesture is the UISwipeGestureRecognizer
if (swipeGesture.direction = .right) {
// Code does not run
} else if (swipeGesture.direction = .left) {
// Code runs
}
Does anyone have any idea why this happens?