nan_scan 是一款支持iOS和android 的掃碼器插件,支持用戶自定義頁面
10年的漢陽網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整漢陽建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“漢陽網(wǎng)站設(shè)計”,“漢陽網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
1、配置:
android配置:在AndroidManifest.xml 下添加相機權(quán)限?uses-permission android:name="android.permission.CAMERA" /
iOS:在打開xcode,在info.plist 下添加 Privacy - Camera Usage Description ,打開相機權(quán)限
2、使用:
引入插件:在pubspec.yaml 中,
dependencies:
???nan_scan: 版本號
使用案例方法:
或者:
demo效果圖:
在通往人工智能的路上,Google一直在不停地買買買。而且Google在人工智能領(lǐng)域的收購其實從2006年就開始了。
DeepMind(2014年1月26日被Google收購)
Deepmind可以說是當下最火的人工智能初創(chuàng)公司,于2014年1月26日被Google收購。
雖然被谷歌收購,但是DeepMind一直是獨立運營的,他們的目標是開發(fā)能夠“獨立思考”的軟件。為了能夠開發(fā)這種類型的人工智能軟件,DeepMind在海量數(shù)據(jù)集合的幫助下使用機器學習等技術(shù)訓練自己的人工智能去完成某些工作任務(wù)。
api.ai(2016年9月19日被Google收購)
api.ai的API可以透過語音辨識、意圖辨識和上下文語境理解等技術(shù),讓電腦理解人類語言并轉(zhuǎn)換為行動,協(xié)助開發(fā)者打造類似Siri的對話式智慧助理,可用于聊天機器人、App、智慧家電等。
api.ai已經(jīng)證明他們可以協(xié)助開發(fā)者設(shè)計、開發(fā)和不斷改進會話式界面。超過6萬名開發(fā)者正使用API.ai的工具開發(fā)會話式體驗。api.ai提供了業(yè)界領(lǐng)先的會話式用戶界面平臺,能夠協(xié)助谷歌指導開發(fā)者持續(xù)開發(fā)優(yōu)秀的自然語言界面。
Moodstocks(2016年7月6日被Google收購)
Moodstocks公司成立于2008年,作為一個小的創(chuàng)業(yè)公司,他們的規(guī)模并不大。
Moodstocks公司是以圖像識別技術(shù)為主,并推出了智能手機的圖像識別應(yīng)用程序Moodstocks Notes。在加入谷歌在巴黎的研發(fā)團隊之后,他們將繼續(xù)研發(fā)自己的視覺圖像識別工具。
Dark Blue Labs(2014年10月23日被Google收購)
Dark Blue Labs是一家深度學習公司,主要從事數(shù)據(jù)架構(gòu)以及算法開發(fā)工作,被收購后并入DeepMind。
Jetpac(2014年8月17日被Google收購)
總部位于舊金山的Jetpac通過Instagram等社交圖片分享工具制作城市導游服務(wù)。通過分析食品、裝飾和人物圖片,Jetpac的軟件便可對城市的各種特點進行分析。
Jetpac被收購前有三款智能手機應(yīng)用,包括一款城市導游助手、一款圖片分析器和一款圖片探測工具,被收購后并入Picasa中。
Emu(2014年8月6日被Google收購)
Emu是一個類似語音助手Siri但卻是“通過文本消息服務(wù)的內(nèi)置助手”。
它整合了類似Siri個人助理的功能,將會根據(jù)你的聊天記錄,自動執(zhí)行移動助理的任務(wù)。比如自動建立日程、設(shè)置時間提醒、甚至還能幫你預(yù)定餐館。
Emu被Google收購后主要用于Google Hangouts以及Google Now中。
Flutter(2013年10月2日被Google收購)
Flutter2010年底由Navneet Dalal和Mehul Nariyawala創(chuàng)辦,利用計算機視覺技術(shù)結(jié)合手勢監(jiān)測識別技術(shù),使得用戶可以用簡單的手勢來操控電腦和移動設(shè)備。
Flutter被Google收購后主要應(yīng)用在Android以及Google X項目中。
Wavii(2013年4月23日被Google收購)
Wavii是一家成立于2009年3月的自然語言處理技術(shù)公司,總部位于西雅圖。
Wavii主要做的是掃描網(wǎng)絡(luò)、尋找新聞、然后進行總結(jié),并附上文章來源的全文鏈接。
Wavii被Google收購后主要應(yīng)用在Google Knowledge Graph(Google知識圖譜)中。
DNNresearch(2013年3月12日被Google收購)
DNNresearch公司是由深度學習大神Geoffrey Hinton與他的兩個研究生Alex Krizhevsky和Ilya Sutskever成立。由于谷歌在本次收購中沒有獲得任何實際的產(chǎn)品或服務(wù),所以本次收購實際上屬于人才性收購,收購的主體是為了這三人團隊。
Viewdle(2012年10月1日被Google收購)
Viewdle是一家成立于2006年的烏克蘭公司,被收購前主要做的是增強現(xiàn)實和面部識別。
Viewdle曾經(jīng)推出的應(yīng)用包括SocialCamera和Third Eye,Social Camera是其推出的首款應(yīng)用,用戶只需通過Faceprint教會你的相機識別好友,此后只要照片中出現(xiàn)了這些好友,SocialCamera就可以自動為他們打上標簽。
Viewdle被Google收購后主要應(yīng)用在Android中。
Clever Sense(2011年12月13日被Google收購)
Clever Sense是本地推薦應(yīng)用Alfred的開發(fā)商。Alfred的獨特之處在于它將人工智能和機器算法有機結(jié)合,為用戶提供個性化的場所推薦,推薦的場所包括附近的餐館、咖啡廳、酒吧和夜店。
Clever Sense被Google收購后主要應(yīng)用在Android中。
PittPatt(2011年7月23日被Google收購)
PittPatt是一家由卡耐基梅隆大學孵化的專注于人臉識別和模式識別公司,其開發(fā)了一項能在照片、視頻和其他媒介之中識別匹配人臉的技術(shù),創(chuàng)造了一系列人臉檢測、跟蹤和識別的算法。
PittPatt的人臉檢測和跟蹤的軟件開發(fā)工具包(SDK)能在照片中確定人臉的位置,在視頻中跟蹤人臉的移動情況。
PittPatt被Google收購后主要應(yīng)用在Android中。
SayNow(2011年1月25日被Google收購)
SayNow是一家成立于2005年的語音識別公司,總部位于美國加州帕羅奧托(Palo Alto)市。
SayNow的平臺可將語音通訊、一對一通話和集團通話整合到Facebook和Twitter等社交網(wǎng)站,以及Android和iPhone手機應(yīng)用中。
SayNow被Google收購后主要應(yīng)用在Google Voice中。
Phonetic Arts(2010年12月3日被Google收購)
Phonetic Arts公司是一家位于英國的語音合成技術(shù)廠商。被Google收購前Phonetic Arts公司的語音合成技術(shù)主要用在游戲中,但谷歌希望將該技術(shù)用于其電腦聲音自動輸出系統(tǒng),以使機器合成的人聲更像人類的聲音以及更加流利。
Phonetic Arts被Google收購后主要應(yīng)用在Google Voice和Google Translate中。
Metaweb(2010年7月16日被Google收購)
Metaweb是一家從事語義搜索(Semantic Search)技術(shù)開發(fā)的風險企業(yè),目標是開發(fā)用于Web的語義數(shù)據(jù)存儲的基礎(chǔ)結(jié)構(gòu)。
Metaweb被Google收購后主要應(yīng)用在Google Search中。
Neven Vision(2006年8月15日被Google收購)
這個可以說是Google最早在人工智能領(lǐng)域的收購了,可以追溯到2006年。
Neven Vision是一家圖像識別技術(shù)公司,其能自動從圖片里提取信息、并且辨認圖片的內(nèi)容,被收購前主要應(yīng)用于手機以及美國政府和執(zhí)法部門的計量生物學應(yīng)用中。
Neven Vision被Google收購后主要應(yīng)用在Picasa以及Google Goggles中。
相機像素低。
在桌面端研發(fā)工作臺的開發(fā)中,我們使用的是FlutterDesktop技術(shù)至于原因,技術(shù)調(diào)研部分會講,國內(nèi)目前FlutterDesktop技術(shù)在生產(chǎn)環(huán)境落地的并不多,相關(guān)經(jīng)驗還比較缺乏,遇到一些問題的時候,需要自己去探索解決。
接下來我們就來看一看我們?yōu)榱私鉀Q這些問題,在iBox上設(shè)計了哪些核心的功能,以及這些功能是如何解決這些問題的。
iphone11相機為什么只能放大5倍??
程序鵝 ?
碼齡5年
關(guān)注
在做掃碼需求,往往會有放大鏡頭需求。
蘋果提供了AVCaptureConnection中,videoScaleAndCropFactor:縮放裁剪系數(shù),使用該屬性,可以實現(xiàn)拉近拉遠鏡頭。再結(jié)合手勢UIPinchGestureRecognizer,就很簡單實現(xiàn)手勢拉近拉遠鏡頭。
手勢代碼
///記錄開始的縮放比例
@property(nonatomic,assign)CGFloat beginGestureScale;
///最后的縮放比例
@property(nonatomic,assign)CGFloat effectiveScale;
- (void)cameraInitOver
{
if (self.isVideoZoom) {
UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchDetected:)];
pinch.delegate = self;
[self.view addGestureRecognizer:pinch];
}
}
- (void)pinchDetected:(UIPinchGestureRecognizer*)recogniser
{
self.effectiveScale = self.beginGestureScale * recogniser.scale;
if (self.effectiveScale 1.0){
self.effectiveScale = 1.0;
}
[self.scanObj setVideoScale:self.effectiveScale];
}
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
if ( [gestureRecognizer isKindOfClass:[UIPinchGestureRecognizer class]] ) {
_beginGestureScale = _effectiveScale;
}
return YES;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
拉近拉遠鏡頭代碼
- (void)setVideoScale:(CGFloat)scale
{
[_input.device lockForConfiguration:nil];
AVCaptureConnection *videoConnection = [self connectionWithMediaType:AVMediaTypeVideo fromConnections:[[self stillImageOutput] connections]];
CGFloat maxScaleAndCropFactor = ([[self.stillImageOutput connectionWithMediaType:AVMediaTypeVideo] videoMaxScaleAndCropFactor])/16;
if (scale maxScaleAndCropFactor)
scale = maxScaleAndCropFactor;
CGFloat zoom = scale / videoConnection.videoScaleAndCropFactor;
videoConnection.videoScaleAndCropFactor = scale;
[_input.device unlockForConfiguration];
CGAffineTransform transform = _videoPreView.transform;
[CATransaction begin];
[CATransaction setAnimationDuration:.025];
_videoPreView.transform = CGAffineTransformScale(transform, zoom, zoom);
[CATransaction commit];
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
有一點需要注意:the videoScaleAndCropFactor property may be set to a value in the range of 1.0 to videoMaxScaleAndCropFactor,videoScaleAndCropFactor這個屬性取值范圍是1.0-videoMaxScaleAndCropFactor,如果你設(shè)置超出范圍會崩潰哦!
iOS 模仿微信掃描二維碼放大功能
我們知道,微信掃描二維碼過程中,如果二維碼圖片焦距比較遠,會拉近焦距,實現(xiàn)放大功能。這種效果如何該實現(xiàn),用原生的API又是如何實現(xiàn)。本文簡單嘗試如何使用AVFoundation實現(xiàn)放大二維碼圖片。重點是如何定位二維碼和放大二維碼,前面介紹了 iOS 掃描二維碼實現(xiàn)手勢拉近拉遠鏡頭 iOS 識別過程中描繪二維碼邊框 和iOS 識別過程中描繪二維碼邊框 ,我們可以很簡單的實現(xiàn)二維碼定位和放大。 ...
APP打開
Android代碼-Flutter實現(xiàn)的二維碼掃描。
flutter_mobile_vision Flutter implementation for Google Mobile Vision. Based on Google Mobile Vision
APP打開
掃描二維碼研究總結(jié)(高仿微信掃一掃,輕松實現(xiàn)定制掃描界面)
在正文之前說點題外話,加上這篇我已經(jīng)寫了3篇博客了,其實我寫博客的初衷不是想證明自己有多牛,并且我也只是從事安卓開發(fā)只有半年時間的小渣,但是不想成為大牛的渣不是好渣,所以我想通過博客把工作學習中遇到的問題進行研究總結(jié),從而提高自己,與此同時如果能給廣大從事安卓開發(fā)的朋友們提供幫助或者是提供一點點思路我也是很心滿意足了!~~好了,廢話不多少進入正題吧! 先上界面圖。由于目前不會錄屏,所以直接上截圖...
APP打開
ios 掃描二維碼實現(xiàn)自動放大和手勢雙擊放
在以前的 《Flutter 上默認的文本和字體知識點》 和 《帶你深入理解 Flutter 中的字體“冷”知識》 中,已經(jīng)介紹了很多 Flutter 上關(guān)于字體有趣的知識點,而本篇講繼續(xù)介紹 Flutter 上關(guān)于 Text 的一個屬性: FontFeature , 事實上相較于 Flutter ,本篇內(nèi)容可能和前端或者設(shè)計關(guān)系更密切 。
什么是 FontFeature ? 簡單來說就是影響字體形狀的一個屬性 ,在前端的對應(yīng)領(lǐng)域里應(yīng)該是 font-feature-settings ,它有別于 FontFamily ,是用于指定字體內(nèi)字的形狀的一個參數(shù)。
我們知道 Flutter 默認在 Android 上使用的是 Roboto 字體,而在 iOS 上使用的是 SF 字體,但是其實 Roboto 字體也是分很多類型的,比如你去查閱手機的 system/fonts 目錄,就會發(fā)現(xiàn)很多帶有 Roboto 字樣的字體庫存在。
所以 Roboto 之類的字體庫是一個很大的字體集,不同的 font-weight 其實對應(yīng)著不同的 ttf ,例如默認情況下的 Roboto 是不支持 font-weight 為 600 的配置 :
所以如下圖所示,如果我們設(shè)置了 w400 - w700 的 weight ,可以很明顯看到中間的 500 和 600 其實是一樣的粗細,所以在 設(shè)置 weight 或者設(shè)計 UI 時,就需要考慮不同平臺上的 weight 是否支持想要的效果 。
回歸到 FontFeature 上,那 Roboto 自己默認支持多少種 features 呢? 答案是 26 種,它們的編碼如下所示,運行后效果也如下圖所示,從日常使用上看,這 26 種 Feature 基本滿足開發(fā)的大部分需求。
而 iOS 上的 SF pro 默認支持 39 種 Features , 它們的編碼如下所示,運行后效果也如下圖所示,可以看到 SF pro 支持的 Features 更多。
所以可以看到,并不是所有字體支持的 Features 都是一樣的,比如 iOS 上支持 sups 上標顯示和 subs 下標顯示,但是 Android 上的 Roboto 并不支持,甚至很多第三方字體其實并不支持 Features 。
有趣的是,在 Flutter Web 有一個渲染文本時會變模糊的問題 #58159 ,這個問題目前官方還沒有修復,但是你可以通過給 Text 設(shè)置任意 FontFeatures 來解決這個問題。
最后,如果對 FontFeature 還感興趣的朋友,可以通過一下資料深入了解,如果你還有什么關(guān)于字體上的問題,歡迎留言討論。
基于網(wǎng)友的問題再補充一下拓展知識,畢竟這方面內(nèi)容也不多 。
事實上在 dart 里就可以看到對應(yīng) FontWeight 約定俗稱用的是字體集里的什么字體:
所以如果對于默認字體有疑問,可以在你的手機字體找找是否有對應(yīng)的字體, 比如雖然我們說 roboto 沒有 600 ,但是如果是 roboto mono 字體集是有 600 的 fontweight ,甚至還有 600 斜體: 。
另外注意這是 Flutter 而不是原生,具體實現(xiàn)調(diào)用是在 Engine 的 paragraph_skia.cc 和 paragraph_builder_skia.cc 下對應(yīng)的 setFontFamilies 相關(guān)邏輯,當然默認字體庫指定在 typography.dart 下就看到,例如 'Roboto' 、 '.SF UI Display' 、 '.SF UI Text' 、 '.AppleSystemUIFont' 、 'Segoe UI' :
另外如果你在 Mac 的 Web 上使用 Flutter Web,可以看到指定的是 .AppleSystemUIFont ,而對于 .AppleSystemUIFont 它其實不算是一種字體,而是蘋果上字體的一種集合別稱:
[圖片上傳失敗...(image-40f5ce-1648368234737)]
還有,如果你去看 Flutter 默認自帶的 cupertino/context_menu_action.dart ,就可以看到一個有趣的情況:
當然,前面我們說了那么多,主要是針對英文的情況下,而在中文下還是有差異的 ,之前的文章也介紹過:
例如,在蘋果上的簡體中文其實會是 PingFang SC 字體,對應(yīng)還有 PingFang TC 和 PingFang HK 的繁體集,而關(guān)于這個問題在 Flutter 上之前還出現(xiàn)過比較有意思的 bug :
當然后續(xù)的 #16709 修復了這個問題 ,而在以前的文章我也講過,當時我遇到了 “Flutter 在 iOS 系統(tǒng)上,系統(tǒng)語言是韓文時,在和中文一起出現(xiàn)會導致字體顯示異常" 的問題 :
解決方法也很簡單,就是給 fontFamilyFallback 配置上 ["PingFang SC" , "Heiti SC"] 就可以了,這是因為韓文在蘋果手機上使用的應(yīng)該是 Apple SD Gothic Neo 這樣的超集字體庫,【廣】這個字符在這個字體集上是不存在的,所以就變成了中文的【廣】;
所以可以看到,字體相關(guān)是一個平時很少會深入接觸的東西,但是一旦涉及多語言和繪制,就很容易碰到問題的領(lǐng)域 。
網(wǎng)頁標題:flutter相機模糊,相機看起來模糊怎么辦
文章鏈接:http://chinadenli.net/article12/hohcdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、定制網(wǎng)站、手機網(wǎng)站建設(shè)、域名注冊、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)