矩阵图

Android 变形矩阵——Matrix

荒凉一梦 提交于 2020-01-17 06:49:19
对于图像的色彩处理,Android系统提供了ColorMatrix颜色矩阵来帮助我们进行图像处理。而对于图像的图形变化,Android系统也是通过来进行处理的,每个像素点都表达了其坐标的X、Y信息。Android的图形变换矩阵是一个3x3的矩阵,如图(1)所示。 当使用变换矩阵去处理每一个像素点的时候,与颜色矩阵的矩阵乘法一样,计算公式如下所示。 X1 = a * X + b * Y + c Y1 = d * X + e * Y + f l = g * X + h * Y + i 通常情况下,会让g=h=0,i=1,这是使 l = g * x + h *y + i恒成立。因此,只需要关注上面几个参数就可以了。 与色彩变换矩阵的初始矩阵一样,图像变换矩阵也有一个初始矩阵。很明显,就是对直角元素a、e、i我1,其他元素我0的矩阵,如图(2)所示。 图像的变化处理通常包含以下四类基本变化 ● Translate——平移变换 ● Rotate——选择变换 ● Scale——缩放变换 ● Skew——错切变换 ▶ 平移变换 平移变换的坐标值变换过程如图(3)所示,即将每个像素点都进行平移变换。 当从p(X0,Y0)平移到p(X,Y),坐标值发送了如下所示的变换 X = X0 + △X Y = Y0 + △Y 如果写成矩阵形式就是如图(4)所示。 通过技计算可发现如下等式。 X = X0 +

关于推荐系统的综述

£可爱£侵袭症+ 提交于 2020-01-13 20:50:28
推荐系统中的深度匹配模型 辛俊波 DataFunTalk 今天 文章作者:辛俊波 腾讯 高级研究员 编辑整理:Hoh Xil 内容来源:作者授权 文章出品:DataFunTalk 注:转载请联系作者本人。 导读: 推荐系统和搜索应该是机器学习乃至深度学习在工业界落地应用最多也最容易变现的场景。而无论是搜索还是推荐,本质其实都是匹配,搜索的本质是给定 query,匹配 doc;推荐的本质是给定 user,推荐 item。本文主要讲推荐系统里的匹配问题,包括传统匹配模型和深度学习模型。 深度学习之风虽然愈演愈烈,但背后体现的矩阵分解思想、协同过滤思想等其实一直都是贯穿其中,如 svd++ 体现的 userCF 和 itemCF 的思想,FM 模型本质上可以退化成以上大多数模型等。多对这些方法做总结,有助于更深刻理解不同模型之间的关联。 图1 推荐和搜索的本质,都是 match 的过程 PS:本文主要启发来源 SIGIR2018:Deep Learning for Matching in Search and Recommendation,重点阐述搜索和推荐中的深度匹配问题,非常 solid 的综述,针对里面的一些方法,尤其是 feature-based 的深度学习方法增加了近期一些相关 paper。 本文主要分为以下几部分: ❶ 推荐系统概述 ❷ 推荐系统的传统匹配模型 ❸ 基于

Opencv中Mat图的长、宽、行、列以及图像像素的概念问题

廉价感情. 提交于 2020-01-03 03:55:38
今天在看矩形滤波的时候忽然脑子短路,把一些概念全弄混了,现总结一下,以便下次再混的时候可以参考确认下,自己的理解,有错的地方还请指正。 首先,在Opencv2中基本上都是用的Mat来表示图像了,C++的函数调用中基本上也都是Mat图,从根本上说,一张图像是一个由数值组成的矩阵,矩阵的每一个元素代表一个像素。对于灰度图像而言,像素有8位无符号数表示,其中0代表黑色,255代表白色。那么矩阵和图像间到底是一个什么样的关系呢。 第一:Mat图有行和列,即cv::Mat中有公有成员变量cols和rows,注意,这里的cols就是图像的宽度width,rows就是图像的高度height。这个width和height我们可以在其它Opencv的成员中得到,比如矩形Rect,而矩形Rect就是一个经常会用到的结构了,我自己接触到的就包括鼠标选择矩形区域、框住目标的矩形区域、滤波器矩形模版、目标的矩形特征、矩形内的运算等等。可以说Rect是一个非常常用的结构,也是Opencv里非常有用的一个结构,本质上矩形区域就是图像的一个子部分,或者说图像矩阵的一个子矩阵。 这里我引用《OpenCV学习笔记(四十一)——再看基础数据结构core》中关于Rect的介绍,Rect_类有些意思,成员变量x、y、width、height,分别为左上角点的坐标和矩形的宽和高。常用的成员函数有Size(

《大学离散数学》图的矩阵表示,无向图关联矩阵,有向图关联矩阵

家住魔仙堡 提交于 2019-12-17 03:15:30
《大学离散数学》图的矩阵表示,无向图关联矩阵,有向图关联矩阵 无向图关联矩阵相关计算 mport numpy as np ramdom_matrix = np . array ( [ [ 1 , 1 , 1 , 0 , 0 , 0 ] , [ 0 , 1 , 1 , 0 , 1 , 0 ] , [ 0 , 0 , 0 , 1 , 1 , 0 ] , [ 1 , 0 , 0 , 1 , 0 , 2 ] ] ) #输入你想算的矩阵 print ( "每条边关联顶点个数" ) print ( sum ( ramdom_matrix ) ) a = 0 for i in range ( 0 , 4 ) : print ( "第" , i , "行元素的度数为" ) print ( sum ( ramdom_matrix [ i ] ) ) a = a + sum ( ramdom_matrix [ i ] ) print ( "根据握手定律,可知顶点度数总和为:" ) print ( a ) 有向图邻接矩阵 import numpy as np ramdom_matrix = np . array ( [ [ 1 , 2 , 1 , 0 ] , [ 0 , 0 , 1 , 0 ] , [ 0 , 0 , 0 , 1 ] , [ 0 , 0 , 1 , 0 ] ] ) #输入需要算的矩阵

编译原理第八次作业

心已入冬 提交于 2019-12-03 05:19:07
1.设有 NFA M=( {0,1,2,3}, {a,b},0,{3},)其中 f(0,a)={0,1} f(0,b)={0} f(1,b)={2} f(2,b)={3}写出状态转换矩阵,状态转换图 状态转换矩阵: 状态转换图: 2.NFA 确定化为 DFA   2.1解决多值映射:子集法   (1). 上述练习1的NFA 状态转换矩阵: a b A 0 {0,1} {0] B {0,1} {0,1} {0,2} C {0,2} {0,1} {0,3] D {0,3} {0,1} {0} 状态转换图:   (2)P64页练习3 状态转换矩阵: 0 1 a {S} {V,Q} {U,Q} b {V,Q} {Z,V} {Q,U} c {Z,V} {Z} {Z} d {U,Q} {V} {Z,Q,U} e {Z,Q,U} {Z,V} {Z,Q,U} f {Z} {Z} {Z} g {V} {Z} Ø 状态转换图:   2.2   (1)发给大家的图2 状态转换矩阵: 0 1 2 D ∑{A}=ABC ∑(A)=ABC ∑(B)=BC ∑(C)=C E ∑(BC)=BC - ∑(B)=BC ∑(C)=C F ∑(C)=C - - ∑(C)=C 状态转换图:   (2).P50图3.6 状态转换矩阵: a b A ε{0}={0,1,2,4,7} ε{3,8}={3,6,7,1,2,4,8}

编译原理第八次作业

寵の児 提交于 2019-12-03 05:14:42
1.设有 NFA M=( {0,1,2,3}, {a,b},f,0,{3} ),其中 f(0,a)={0,1} f(0,b)={0} f(1,b)={2} f(2,b)={3}  画出状态转换矩阵,状态转换图,并说明该NFA识别的是什么样的语言。 答: 该状态转换矩阵为: a b 0 0,1 0 1 Ø 2 2 Ø 3 3 Ø Ø 该状态转换图为: 识别的语言为:(aIb)*abb 2.NFA 确定化为 DFA   2.1解决多值映射:子集法   (1). 上述练习1的NFA    该状态转换矩阵为: a b 0 {0} {0,1} {0} 1 {0,1} {0,1} {0,2} 2 {0,2} {0,1} {0,3} 3 {0,3} {0,1} {0}     该状态转换图为:      (2)    该状态转换矩阵为: 0 1 0 {S} {V,Q} {U,Q} 1 {V,Q} {Z,V} {Q,U} 2 {Z,V} {Z} {Z} 3 {U,Q} {V} {Z,Q,U} 4 {Z,Q,U} {Z,V} {Z,Q,U} 5 {Z} {Z} {Z} 6 {V} {Z} Ø    该状态转换图为:   2.2.解决空弧:对初态和所有新状态求ε-闭包   (1). 发给大家的图2        该状态转换矩阵为: 0 1 2 0 ε{A}={ABC} ε{A}={ABC} ε{B}=

第八次作业 非确定的自动机NFA确定化为DFA

微笑、不失礼 提交于 2019-12-03 04:51:04
1.设有 NFA M=( {0,1,2,3}, {a,b},f,0,{3} ),其中 f(0,a)={0,1} f(0,b)={0} f(1,b)={2} f(2,b)={3} 画出状态转换矩阵,状态转换图,并说明该NFA识别的是什么样的语言。 状态转换矩阵: a b 0 0,1 0 1 2 2 3 3 状态转换图: 识别的语言:(a|b)*abb 2.NFA 确定化为 DFA 1.解决多值映射:子集法 1). 上述练习1的NFA 状态转换矩阵: a b 0 0 {0,1} {0} 1 {0,1} {0,1} {0,2} 2 {0,2} {0,1} {0,3} 3 {0,3} {0,1} {0} 状态转换图: 2). P64页练习3 状态转换矩阵: 0 1 1 {S} {V,Q} {Q,U} 2 {V,Q} {V,Z} {Q,U} 3 {V,Z} {Z} {Z} 4 {Q,U} {V} {Q,U,Z} 5 {Q,U,Z} {Q,U} {Q,U,Z} 6 {V} {Z} 7 {Z} {Z} {Z} 状态转换图: 2.解决空弧:对初态和所有新状态求ε-闭包 1). 发给大家的图2 2).P50图3.6 子集法: f(q,a)={q1,q2,…,qn},状态集的子集 将{q1,q2,…,qn}看做一个状态A,去记录NFA读入输入符号之后可能达到的所有状态的集合。 步骤: 1)

编译原理 八

旧街凉风 提交于 2019-12-03 00:35:22
1.设有 NFA M=( {0,1,2,3}, {a,b},f,0,{3} ),其中 f(0,a)={0,1} f(0,b)={0} f(1,b)={2} f(2,b)={3} 画出状态转换矩阵,状态转换图,并说明该NFA识别的是什么样的语言。 状态转换矩阵: 状态转换图: NFA识别的语言: NFA M={(a|b)*abb} 2.NFA 确定化为 DFA 1.解决多值映射:子集法 1). 上述练习1的NFA 2). P64页练习3 2.解决空弧:对初态和所有新状态求ε-闭包 1). 发给大家的图2 2).P50图3.6 子集法: f(q,a)={q1,q2,…,qn},状态集的子集 将{q1,q2,…,qn}看做一个状态A,去记录NFA读入输入符号之后可能达到的所有状态的集合。 步骤: 1).根据NFA构造DFA状态转换矩阵 ①确定DFA的字母表,初态(NFA的所有初态集) ②从初态出发,经字母表到达的状态集看成一个新状态 ③将新状态添加到DFA状态集 ④重复23步骤,直到没有新的DFA状态 2).画出DFA 3).看NFA和DFA识别的符号串是否一致。 练习1的NFA(状态转换矩阵和状态转换图): P64页练习3(状态转换矩阵和状态转换图): 发给大家的图2(状态转换矩阵和状态转换图): P50图3.6(状态转换矩阵和状态转换图): 来源: https://www